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
wilder
Volker Krause 9 years ago
parent 48e2e7c9bc
commit ba75a6c6a0
  1. 6
      CMakeLists.txt
  2. 3
      autotests/CMakeLists.txt
  3. 4
      src/CMakeLists.txt
  4. 3
      src/core/CMakeLists.txt
  5. 4
      src/gui/CMakeLists.txt
  6. 2
      src/kconf_update/CMakeLists.txt
  7. 2
      src/kconfig_compiler/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)

@ -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()

@ -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)

@ -1,6 +1,3 @@
find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
set(libkconfigcore_SRCS
kconfig.cpp
kconfigbase.cpp

@ -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

@ -1,5 +1,3 @@
find_package(Qt5Core ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE)
remove_definitions(-DQT_NO_CAST_FROM_ASCII)
########### next target ###############

@ -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)

Loading…
Cancel
Save