aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShatur95 <genaloner@gmail.com>2020-05-09 23:19:12 +0300
committerShatur95 <genaloner@gmail.com>2020-05-09 23:19:12 +0300
commit6cd41179046958968d597d47ffd9c9d0b21c3d97 (patch)
treeacc071d0cb71337545eef8ce4fa90e923221fad6
parentUpdate CHANGELOG.md (diff)
downloadsingleapplication-6cd41179046958968d597d47ffd9c9d0b21c3d97.tar.xz
Improve CMakeLists.txt
-rw-r--r--CMakeLists.txt32
1 files changed, 11 insertions, 21 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d619230..697c8b5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,43 +1,33 @@
-cmake_minimum_required(VERSION 3.1.0)
+cmake_minimum_required(VERSION 3.7.0)
-project(SingleApplication)
+project(SingleApplication LANGUAGES CXX)
-set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOMOC ON)
-# SingleApplication base class
-set(QAPPLICATION_CLASS QCoreApplication CACHE STRING "Inheritance class for SingleApplication")
-set_property(CACHE QAPPLICATION_CLASS PROPERTY STRINGS QApplication QGuiApplication QCoreApplication)
-
-# Libary target
add_library(${PROJECT_NAME} STATIC
singleapplication.cpp
singleapplication_p.cpp
- )
+)
# Find dependencies
-find_package(Qt5Network)
+find_package(Qt5 COMPONENTS Network REQUIRED)
+target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Network)
+
if(QAPPLICATION_CLASS STREQUAL QApplication)
find_package(Qt5 COMPONENTS Widgets REQUIRED)
+ target_link_libraries(${PROJECT_NAME} PUBLIC Qt5::Widgets)
elseif(QAPPLICATION_CLASS STREQUAL QGuiApplication)
find_package(Qt5 COMPONENTS Gui REQUIRED)
+ target_link_libraries(${PROJECT_NAME} PUBLIC Qt5::Gui)
else()
+ set(QAPPLICATION_CLASS QCoreApplication)
find_package(Qt5 COMPONENTS Core REQUIRED)
-endif()
-add_compile_definitions(QAPPLICATION_CLASS=${QAPPLICATION_CLASS})
-
-# Link dependencies
-target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Network)
-if(QAPPLICATION_CLASS STREQUAL QApplication)
- target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets)
-elseif(QAPPLICATION_CLASS STREQUAL QGuiApplication)
- target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Gui)
-else()
- target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Core)
+ target_link_libraries(${PROJECT_NAME} PUBLIC Qt5::Core)
endif()
if(WIN32)
target_link_libraries(${PROJECT_NAME} PRIVATE advapi32)
endif()
+target_compile_definitions(${PROJECT_NAME} PUBLIC QAPPLICATION_CLASS=${QAPPLICATION_CLASS})
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})