diff options
| -rw-r--r-- | CMakeLists.txt | 14 | ||||
| -rw-r--r-- | KF5ConfigConfig.cmake.in | 1 | ||||
| -rw-r--r-- | src/CMakeLists.txt | 29 | ||||
| -rw-r--r-- | src/core/CMakeLists.txt | 3 | ||||
| -rw-r--r-- | src/gui/CMakeLists.txt | 3 | 
5 files changed, 50 insertions, 0 deletions
| diff --git a/CMakeLists.txt b/CMakeLists.txt index 65eef063..2626b775 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,6 +23,10 @@ include(ECMSetupVersion)  include(ECMGenerateHeaders)  include(ECMMarkNonGuiExecutable)  include(ECMPoQmTools) +include(ECMAddQch) + +option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) +add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")  ecm_setup_version(PROJECT VARIABLE_PREFIX KCONFIG                          VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kconfig_version.h" @@ -42,6 +46,16 @@ endif()  # create a Config.cmake and a ConfigVersion.cmake file and install them  set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Config") +if (BUILD_QCH) +    ecm_install_qch_export( +        TARGETS KF5Config_QCH +        FILE KF5ConfigQchTargets.cmake +        DESTINATION "${CMAKECONFIG_INSTALL_DIR}" +        COMPONENT Devel +    ) +    set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5ConfigQchTargets.cmake\")") +endif() +  include(CMakePackageConfigHelpers)  configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KF5ConfigConfig.cmake.in" diff --git a/KF5ConfigConfig.cmake.in b/KF5ConfigConfig.cmake.in index d434c88e..f8e5eb0b 100644 --- a/KF5ConfigConfig.cmake.in +++ b/KF5ConfigConfig.cmake.in @@ -3,6 +3,7 @@  # Any changes in this ".cmake" file will be overwritten by CMake, the source is the ".cmake.in" file.  include("${CMAKE_CURRENT_LIST_DIR}/KF5ConfigTargets.cmake") +@PACKAGE_INCLUDE_QCHTARGETS@  include(CMakeFindDependencyMacro)  find_dependency(Qt5Xml "@REQUIRED_QT_VERSION@") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 916d51fb..998a1d52 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,3 +3,32 @@ add_subdirectory(gui)  add_subdirectory(kconfig_compiler)  add_subdirectory(kconf_update)  add_subdirectory(kreadconfig) + +if (BUILD_QCH) +    ecm_add_qch( +        KF5Config_QCH +        NAME KConfig +        BASE_NAME KF5Config +        VERSION ${KF5_VERSION} +        ORG_DOMAIN org.kde +        SOURCES # using only public headers, to cover only public API +            ${KConfigCore_APIDOX_SRCS} +            ${KConfigGui_APIDOX_SRCS} +            "${CMAKE_SOURCE_DIR}/docs/options.md" +        MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" +        LINK_QCHS +            Qt5Core_QCH +            Qt5Xml_QCH +            Qt5Gui_QCH +        BLANK_MACROS +            KCONFIGCORE_EXPORT +            KCONFIGCORE_DEPRECATED_EXPORT +            KCONFIGCORE_DEPRECATED +            KCONFIGGUI_EXPORT +            KCONFIGGUI_DEPRECATED_EXPORT +            KCONFIGGUI_DEPRECATED +        TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} +        QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} +        COMPONENT Devel +    ) +endif() diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt index ed7edba1..9b7491c5 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -83,6 +83,9 @@ install(FILES    DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KConfigCore COMPONENT Devel  ) +# make available to ecm_add_qch in parent folder +set(KConfigCore_APIDOX_SRCS ${KConfigCore_HEADERS} PARENT_SCOPE) +  include(ECMGeneratePriFile)  ecm_generate_pri_file(BASE_NAME KConfigCore LIB_NAME KF5ConfigCore DEPS "core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KConfigCore)  install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt index 963cd3fd..9659326f 100644 --- a/src/gui/CMakeLists.txt +++ b/src/gui/CMakeLists.txt @@ -67,6 +67,9 @@ install(FILES    DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KConfigGui COMPONENT Devel  ) +# make available to ecm_add_qch in parent folder +set(KConfigGui_APIDOX_SRCS ${KConfigGui_HEADERS} PARENT_SCOPE) +  include(ECMGeneratePriFile)  ecm_generate_pri_file(BASE_NAME KConfigGui LIB_NAME KF5ConfigGui DEPS "gui xml KConfigCore" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KConfigGui)  install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) | 
