aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Krause <vkrause@kde.org>2017-07-30 15:47:29 +0200
committerVolker Krause <vkrause@kde.org>2017-08-04 18:54:42 +0200
commitba75a6c6a0231f93fd40480992beec46b0f64885 (patch)
tree9fad6c863da42093d50c8534e3eef969d290b200
parent48e2e7c9bcd24cc010a6af0a455f8793ea863d40 (diff)
downloadkconfig-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.txt6
-rw-r--r--autotests/CMakeLists.txt3
-rw-r--r--src/CMakeLists.txt4
-rw-r--r--src/core/CMakeLists.txt3
-rw-r--r--src/gui/CMakeLists.txt4
-rw-r--r--src/kconf_update/CMakeLists.txt2
-rw-r--r--src/kconfig_compiler/CMakeLists.txt2
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)