summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Mollekopf <chrigi_1@fastmail.fm>2017-08-23 18:39:44 -0600
committerChristian Mollekopf <chrigi_1@fastmail.fm>2017-08-23 18:39:44 -0600
commit85dc437da27417cce05b5a9f97505b43cfdf4dee (patch)
tree3b6984e9f42a085fae821d4024326987a48fdc98
parent25b4f6e2d7ed2d783b8ee1eefbe62df713ca0341 (diff)
downloadkube-85dc437da27417cce05b5a9f97505b43cfdf4dee.tar.gz
kube-85dc437da27417cce05b5a9f97505b43cfdf4dee.zip
The grand cmake cleanup
We had a ton of duplication in our cmake code because we had no common toplevel settings. This is now cleaned up so we can sanely change settings and so we know what we have set.
-rw-r--r--CMakeLists.txt23
-rw-r--r--accounts/gmail/CMakeLists.txt19
-rw-r--r--accounts/imap/CMakeLists.txt19
-rw-r--r--accounts/imap/tests/CMakeLists.txt1
-rw-r--r--accounts/kolabnow/CMakeLists.txt19
-rw-r--r--accounts/maildir/CMakeLists.txt19
-rw-r--r--accounts/maildir/tests/CMakeLists.txt1
-rw-r--r--applications/kube/CMakeLists.txt25
-rw-r--r--components/CMakeLists.txt18
-rw-r--r--framework/CMakeLists.txt18
-rw-r--r--framework/src/CMakeLists.txt1
-rw-r--r--framework/src/domain/mime/mimetreeparser/CMakeLists.txt5
-rw-r--r--framework/src/domain/mime/tests/CMakeLists.txt1
-rw-r--r--framework/src/domain/settings/CMakeLists.txt1
-rw-r--r--tests/CMakeLists.txt18
15 files changed, 21 insertions, 167 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3fe755e9..611a19ee 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,18 +1,31 @@
1cmake_minimum_required(VERSION 3.0) 1cmake_minimum_required(VERSION 3.0)
2 2
3cmake_policy(SET CMP0048 NEW) 3project(kube VERSION 0.4)
4
5set (QT_MIN_VERSION "5.7.0")
6
7cmake_policy(SET CMP0011 NEW)
4cmake_policy(SET CMP0028 NEW) 8cmake_policy(SET CMP0028 NEW)
9cmake_policy(SET CMP0048 NEW)
10cmake_policy(SET CMP0053 NEW)
5cmake_policy(SET CMP0063 NEW) 11cmake_policy(SET CMP0063 NEW)
6 12
7project(kube VERSION 0.4) 13include(CPack)
8set (QT_MIN_VERSION "5.7.0") 14include(FeatureSummary)
15find_package(PkgConfig REQUIRED)
16find_package(ECM 5.29.0 REQUIRED NO_MODULE)
17
18set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
19
20include(KDEInstallDirs)
21include(KDECompilerSettings)
22include(KDECMakeSettings NO_POLICY_SCOPE)
9 23
10enable_testing() 24enable_testing()
11 25
12add_subdirectory(framework) 26add_subdirectory(framework)
13add_subdirectory(components) 27add_subdirectory(components)
14add_subdirectory(accounts)
15add_subdirectory(icons) 28add_subdirectory(icons)
16add_subdirectory(applications) 29add_subdirectory(applications)
17 30add_subdirectory(accounts)
18add_subdirectory(tests) 31add_subdirectory(tests)
diff --git a/accounts/gmail/CMakeLists.txt b/accounts/gmail/CMakeLists.txt
index ae98a20a..7a71264f 100644
--- a/accounts/gmail/CMakeLists.txt
+++ b/accounts/gmail/CMakeLists.txt
@@ -1,24 +1,5 @@
1project(kube-accounts-gmail) 1project(kube-accounts-gmail)
2 2
3cmake_minimum_required(VERSION 2.8.12)
4
5cmake_policy(SET CMP0063 NEW)
6
7include(CPack)
8include(FeatureSummary)
9find_package(PkgConfig)
10
11################# set KDE specific information #################
12
13find_package(ECM 0.0.8 REQUIRED NO_MODULE)
14
15# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
16set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
17
18include(KDEInstallDirs)
19include(KDECMakeSettings)
20include(KDECompilerSettings)
21
22find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui) 3find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui)
23 4
24find_package(Sink CONFIG REQUIRED) 5find_package(Sink CONFIG REQUIRED)
diff --git a/accounts/imap/CMakeLists.txt b/accounts/imap/CMakeLists.txt
index 259c8e69..5ec32bbc 100644
--- a/accounts/imap/CMakeLists.txt
+++ b/accounts/imap/CMakeLists.txt
@@ -1,24 +1,5 @@
1project(kube-accounts-imap) 1project(kube-accounts-imap)
2 2
3cmake_minimum_required(VERSION 2.8.12)
4
5cmake_policy(SET CMP0063 NEW)
6
7include(CPack)
8include(FeatureSummary)
9find_package(PkgConfig)
10
11################# set KDE specific information #################
12
13find_package(ECM 0.0.8 REQUIRED NO_MODULE)
14
15# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
16set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
17
18include(KDEInstallDirs)
19include(KDECMakeSettings)
20include(KDECompilerSettings)
21
22find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Concurrent Quick Test Gui) 3find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Concurrent Quick Test Gui)
23 4
24find_package(Sink CONFIG REQUIRED) 5find_package(Sink CONFIG REQUIRED)
diff --git a/accounts/imap/tests/CMakeLists.txt b/accounts/imap/tests/CMakeLists.txt
index 82d6059c..bf4ffe73 100644
--- a/accounts/imap/tests/CMakeLists.txt
+++ b/accounts/imap/tests/CMakeLists.txt
@@ -1,5 +1,4 @@
1include_directories(../) 1include_directories(../)
2cmake_policy(SET CMP0063 NEW)
3add_executable(imapsettingstest settingstest.cpp) 2add_executable(imapsettingstest settingstest.cpp)
4add_test(imapsettingstest settingstest) 3add_test(imapsettingstest settingstest)
5target_link_libraries(imapsettingstest 4target_link_libraries(imapsettingstest
diff --git a/accounts/kolabnow/CMakeLists.txt b/accounts/kolabnow/CMakeLists.txt
index 8a178bf9..8b84d9da 100644
--- a/accounts/kolabnow/CMakeLists.txt
+++ b/accounts/kolabnow/CMakeLists.txt
@@ -1,24 +1,5 @@
1project(kube-accounts-kolabnow) 1project(kube-accounts-kolabnow)
2 2
3cmake_minimum_required(VERSION 2.8.12)
4
5cmake_policy(SET CMP0063 NEW)
6
7include(CPack)
8include(FeatureSummary)
9find_package(PkgConfig)
10
11################# set KDE specific information #################
12
13find_package(ECM 0.0.8 REQUIRED NO_MODULE)
14
15# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
16set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
17
18include(KDEInstallDirs)
19include(KDECMakeSettings)
20include(KDECompilerSettings)
21
22find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui) 3find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui)
23 4
24find_package(Sink CONFIG REQUIRED) 5find_package(Sink CONFIG REQUIRED)
diff --git a/accounts/maildir/CMakeLists.txt b/accounts/maildir/CMakeLists.txt
index b321f0ad..1b017328 100644
--- a/accounts/maildir/CMakeLists.txt
+++ b/accounts/maildir/CMakeLists.txt
@@ -1,24 +1,5 @@
1project(kube-accounts-maildir) 1project(kube-accounts-maildir)
2 2
3cmake_minimum_required(VERSION 2.8.12)
4
5cmake_policy(SET CMP0063 NEW)
6
7include(CPack)
8include(FeatureSummary)
9find_package(PkgConfig)
10
11################# set KDE specific information #################
12
13find_package(ECM 0.0.8 REQUIRED NO_MODULE)
14
15# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
16set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
17
18include(KDEInstallDirs)
19include(KDECMakeSettings)
20include(KDECompilerSettings)
21
22find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Concurrent Quick Test Gui) 3find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Concurrent Quick Test Gui)
23 4
24find_package(Sink CONFIG REQUIRED) 5find_package(Sink CONFIG REQUIRED)
diff --git a/accounts/maildir/tests/CMakeLists.txt b/accounts/maildir/tests/CMakeLists.txt
index 2452e526..3083ccc0 100644
--- a/accounts/maildir/tests/CMakeLists.txt
+++ b/accounts/maildir/tests/CMakeLists.txt
@@ -1,5 +1,4 @@
1include_directories(../) 1include_directories(../)
2cmake_policy(SET CMP0063 NEW)
3add_executable(settingstest settingstest.cpp) 2add_executable(settingstest settingstest.cpp)
4add_test(settingstest settingstest) 3add_test(settingstest settingstest)
5target_link_libraries(settingstest 4target_link_libraries(settingstest
diff --git a/applications/kube/CMakeLists.txt b/applications/kube/CMakeLists.txt
index ed9942c5..2d0df2ad 100644
--- a/applications/kube/CMakeLists.txt
+++ b/applications/kube/CMakeLists.txt
@@ -1,33 +1,8 @@
1project(kube) 1project(kube)
2 2
3cmake_minimum_required(VERSION 2.8.12)
4cmake_policy(SET CMP0063 NEW)
5
6include(CPack)
7include(FeatureSummary)
8
9find_package(PkgConfig)
10
11################# set KDE specific information #################
12
13if(APPLE OR WIN32)
14 # for an ecm_add_app_icon() implementation acception svg icons
15 set(ECM_MIN_VERSION 5.29.0)
16else()
17 set(ECM_MIN_VERSION 0.0.8)
18endif()
19find_package(ECM ${ECM_MIN_VERSION} REQUIRED NO_MODULE)
20
21# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
22set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
23
24include(KDEInstallDirs)
25include(KDECMakeSettings)
26include(KDECompilerSettings)
27include(ECMAddAppIcon) 3include(ECMAddAppIcon)
28 4
29find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui Widgets WebEngine) 5find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui Widgets WebEngine)
30
31find_package(KF5 REQUIRED COMPONENTS Package) 6find_package(KF5 REQUIRED COMPONENTS Package)
32 7
33# install executable 8# install executable
diff --git a/components/CMakeLists.txt b/components/CMakeLists.txt
index 8b988fab..7b06929f 100644
--- a/components/CMakeLists.txt
+++ b/components/CMakeLists.txt
@@ -1,26 +1,8 @@
1project(kube-components) 1project(kube-components)
2 2
3cmake_minimum_required(VERSION 2.8.12)
4
5include(CPack)
6include(FeatureSummary)
7find_package(PkgConfig)
8
9################# set KDE specific information #################
10
11find_package(ECM 0.0.8 REQUIRED NO_MODULE)
12
13# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
14set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
15
16include(KDEInstallDirs)
17include(KDECMakeSettings)
18include(KDECompilerSettings)
19
20find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui Widgets) 3find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui Widgets)
21find_package(KF5 REQUIRED COMPONENTS Package) 4find_package(KF5 REQUIRED COMPONENTS Package)
22 5
23
24macro(install_component name) 6macro(install_component name)
25 install(DIRECTORY ${name}/contents/ui/ DESTINATION ${QML_INSTALL_DIR}/org/kube/components/${name}) 7 install(DIRECTORY ${name}/contents/ui/ DESTINATION ${QML_INSTALL_DIR}/org/kube/components/${name})
26 install(FILES ${name}/qmldir DESTINATION ${QML_INSTALL_DIR}/org/kube/components/${name}) 8 install(FILES ${name}/qmldir DESTINATION ${QML_INSTALL_DIR}/org/kube/components/${name})
diff --git a/framework/CMakeLists.txt b/framework/CMakeLists.txt
index 85ead14d..431c1ac4 100644
--- a/framework/CMakeLists.txt
+++ b/framework/CMakeLists.txt
@@ -1,22 +1,6 @@
1cmake_minimum_required(VERSION 2.8.12)
2
3
4# ECM setup
5find_package(ECM 0.0.10 REQUIRED NO_MODULE)
6set(CMAKE_MODULE_PATH
7 ${ECM_MODULE_PATH}
8 ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules
9 ${CMAKE_MODULE_PATH})
10
11include(FeatureSummary)
12include(GenerateExportHeader) 1include(GenerateExportHeader)
13include(ECMGenerateHeaders) 2include(ECMGenerateHeaders)
14include(ECMPackageConfigHelpers) 3include(CMakePackageConfigHelpers)
15include(KDEInstallDirs)
16
17set(CMAKE_AUTOMOC ON)
18
19enable_testing()
20 4
21set(FRAMEWORK_INSTALL_DIR ${QML_INSTALL_DIR}/org/kube/framework) 5set(FRAMEWORK_INSTALL_DIR ${QML_INSTALL_DIR}/org/kube/framework)
22 6
diff --git a/framework/src/CMakeLists.txt b/framework/src/CMakeLists.txt
index 1ac9d3c2..a22e8c06 100644
--- a/framework/src/CMakeLists.txt
+++ b/framework/src/CMakeLists.txt
@@ -9,6 +9,7 @@ find_package(KF5Package CONFIG REQUIRED)
9find_package(KF5Contacts CONFIG REQUIRED) 9find_package(KF5Contacts CONFIG REQUIRED)
10 10
11add_definitions("-Wall -std=c++0x -g") 11add_definitions("-Wall -std=c++0x -g")
12set(CMAKE_CXX_VISIBILITY_PRESET default)
12 13
13include_directories(. domain/mime/mimetreeparser domain/ domain/mime) 14include_directories(. domain/mime/mimetreeparser domain/ domain/mime)
14 15
diff --git a/framework/src/domain/mime/mimetreeparser/CMakeLists.txt b/framework/src/domain/mime/mimetreeparser/CMakeLists.txt
index 9f67d784..3cdbc173 100644
--- a/framework/src/domain/mime/mimetreeparser/CMakeLists.txt
+++ b/framework/src/domain/mime/mimetreeparser/CMakeLists.txt
@@ -1,17 +1,14 @@
1add_definitions("-fvisibility=default") 1set(CMAKE_CXX_VISIBILITY_PRESET default)
2 2
3find_package(Qt5 COMPONENTS REQUIRED Core Gui) 3find_package(Qt5 COMPONENTS REQUIRED Core Gui)
4find_package(KF5Mime "4.87.0" CONFIG REQUIRED) 4find_package(KF5Mime "4.87.0" CONFIG REQUIRED)
5find_package(QGpgme CONFIG REQUIRED) 5find_package(QGpgme CONFIG REQUIRED)
6find_package(KF5Codecs CONFIG REQUIRED) 6find_package(KF5Codecs CONFIG REQUIRED)
7find_package(ECM 1.0.0 REQUIRED NO_MODULE)
8set(CMAKE_MODULE_PATH 7set(CMAKE_MODULE_PATH
9 ${ECM_MODULE_PATH} 8 ${ECM_MODULE_PATH}
10 ${CMAKE_CURRENT_SOURCE_DIR} 9 ${CMAKE_CURRENT_SOURCE_DIR}
11 ${CMAKE_MODULE_PATH}) 10 ${CMAKE_MODULE_PATH})
12 11
13#add_definitions(-DTRANSLATION_DOMAIN=\"libmimetreeparser\")
14
15# target_include_directories does not handle empty include paths 12# target_include_directories does not handle empty include paths
16include_directories(${GPGME_INCLUDES}) 13include_directories(${GPGME_INCLUDES})
17 14
diff --git a/framework/src/domain/mime/tests/CMakeLists.txt b/framework/src/domain/mime/tests/CMakeLists.txt
index f94447ff..2844d7ed 100644
--- a/framework/src/domain/mime/tests/CMakeLists.txt
+++ b/framework/src/domain/mime/tests/CMakeLists.txt
@@ -5,7 +5,6 @@ include_directories(
5 ${CMAKE_CURRENT_SOURCE_DIR}/.. 5 ${CMAKE_CURRENT_SOURCE_DIR}/..
6 ) 6 )
7 7
8include(ECMAddTests)
9find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Test WebEngine) 8find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Test WebEngine)
10 9
11include( ${CMAKE_SOURCE_DIR}/cmake/modules/add_gpg_crypto_test.cmake ) 10include( ${CMAKE_SOURCE_DIR}/cmake/modules/add_gpg_crypto_test.cmake )
diff --git a/framework/src/domain/settings/CMakeLists.txt b/framework/src/domain/settings/CMakeLists.txt
index e9ea76c6..1e218e97 100644
--- a/framework/src/domain/settings/CMakeLists.txt
+++ b/framework/src/domain/settings/CMakeLists.txt
@@ -1,5 +1,4 @@
1include_directories(${CMAKE_CURRENT_BINARY_DIR}) 1include_directories(${CMAKE_CURRENT_BINARY_DIR})
2cmake_policy(SET CMP0063 NEW)
3add_executable(sinkactiontest sinkactiontest.cpp) 2add_executable(sinkactiontest sinkactiontest.cpp)
4add_test(sinkactiontest sinkactiontest) 3add_test(sinkactiontest sinkactiontest)
5target_link_libraries(sinkactiontest 4target_link_libraries(sinkactiontest
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index f18ebc09..0515c052 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -1,23 +1,5 @@
1project(tests) 1project(tests)
2 2
3cmake_minimum_required(VERSION 2.8.12)
4cmake_policy(SET CMP0063 NEW)
5
6include(CPack)
7include(FeatureSummary)
8find_package(PkgConfig)
9
10################# set KDE specific information #################
11
12find_package(ECM 0.0.8 REQUIRED NO_MODULE)
13
14# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
15set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
16
17include(KDEInstallDirs)
18include(KDECMakeSettings)
19include(KDECompilerSettings)
20
21find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui Widgets WebEngine QuickTest) 3find_package(Qt5 REQUIRED NO_MODULE COMPONENTS Core Quick Test Gui Widgets WebEngine QuickTest)
22 4
23# build testrunner 5# build testrunner