diff options
author | Volker Krause <vkrause@kde.org> | 2017-07-30 15:47:29 +0200 |
---|---|---|
committer | Volker Krause <vkrause@kde.org> | 2017-08-04 18:54:42 +0200 |
commit | ba75a6c6a0231f93fd40480992beec46b0f64885 (patch) | |
tree | 9fad6c863da42093d50c8534e3eef969d290b200 | |
parent | 48e2e7c9bcd24cc010a6af0a455f8793ea863d40 (diff) | |
download | kconfig-ba75a6c6a0231f93fd40480992beec46b0f64885.tar.gz kconfig-ba75a6c6a0231f93fd40480992beec46b0f64885.tar.bz2 |
Allow to build KConfig without Qt5Gui
Summary:
This is particularly useful for cross-compilation, where we only need the
kconfig_compiler on the host system.
Reviewers: #frameworks, apol, aacid
Reviewed By: aacid
Subscribers: aacid
Tags: #frameworks
Differential Revision: https://phabricator.kde.org/D6994
-rw-r--r-- | CMakeLists.txt | 6 | ||||
-rw-r--r-- | autotests/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/core/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/gui/CMakeLists.txt | 4 | ||||
-rw-r--r-- | src/kconf_update/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/kconfig_compiler/CMakeLists.txt | 2 |
7 files changed, 10 insertions, 14 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e50ba5c..1f7df844 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,11 @@ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR}) set(REQUIRED_QT_VERSION 5.6.0) -find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui Xml) +find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Xml) +option(KCONFIG_USE_GUI "Build components using Qt5Gui" ON) +if(KCONFIG_USE_GUI) + find_package(Qt5 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Gui) +endif() include(KDEInstallDirs) include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(KDECMakeSettings) diff --git a/autotests/CMakeLists.txt b/autotests/CMakeLists.txt index a07636d5..fd3816d1 100644 --- a/autotests/CMakeLists.txt +++ b/autotests/CMakeLists.txt @@ -52,6 +52,7 @@ ecm_add_tests( target_include_directories(test_kconf_update PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/../src/kconf_update) +if(TARGET Qt5::Gui) ecm_add_tests( kconfigguitest.cpp kconfigloadertest.cpp @@ -67,4 +68,4 @@ set_tests_properties(kconfigcore-kconfignokdehometest PROPERTIES RUN_SERIAL TRUE set_tests_properties(kconfiggui-kconfigguitest PROPERTIES RUN_SERIAL TRUE) add_subdirectory(kconfig_compiler) - +endif() diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 998a1d52..d4ca8869 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,5 +1,7 @@ add_subdirectory(core) -add_subdirectory(gui) +if(TARGET Qt5::Gui) + add_subdirectory(gui) +endif() add_subdirectory(kconfig_compiler) add_subdirectory(kconf_update) add_subdirectory(kreadconfig) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index 9b7491c5..46fabd50 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -1,6 +1,3 @@ - -find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) - set(libkconfigcore_SRCS kconfig.cpp kconfigbase.cpp diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 9659326f..08786d31 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -1,7 +1,3 @@ - -find_package(Qt5Gui ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) -find_package(Qt5Xml ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) - set(libkconfiggui_SRCS kconfiggui.cpp kconfiggroupgui.cpp diff --git a/src/kconf_update/CMakeLists.txt b/src/kconf_update/CMakeLists.txt index b1342a8d..db115115 100644 --- a/src/kconf_update/CMakeLists.txt +++ b/src/kconf_update/CMakeLists.txt @@ -1,5 +1,3 @@ -find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) - remove_definitions(-DQT_NO_CAST_FROM_ASCII) ########### next target ############### diff --git a/src/kconfig_compiler/CMakeLists.txt b/src/kconfig_compiler/CMakeLists.txt index 004a6494..dc0a08db 100644 --- a/src/kconfig_compiler/CMakeLists.txt +++ b/src/kconfig_compiler/CMakeLists.txt @@ -16,8 +16,6 @@ else() add_executable(KF5::kconfig_compiler ALIAS kconfig_compiler) endif() -find_package(Qt5Xml ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) - target_link_libraries(kconfig_compiler Qt5::Xml) ecm_mark_nongui_executable(kconfig_compiler) |