diff options
author | Friedrich W. H. Kossebau <kossebau@kde.org> | 2017-04-27 02:29:41 +0200 |
---|---|---|
committer | Friedrich W. H. Kossebau <kossebau@kde.org> | 2017-06-05 02:36:26 +0200 |
commit | 0985d48d92bcf0f8001e38b041a522da8568a38f (patch) | |
tree | eff713a1777b2f824cdd231d0c0cc30120ba7e5c /CMakeLists.txt | |
parent | cbaeb3239452f6efdf74e2756cc95276d9dd15ff (diff) | |
download | kconfig-0985d48d92bcf0f8001e38b041a522da8568a38f.tar.gz kconfig-0985d48d92bcf0f8001e38b041a522da8568a38f.tar.bz2 |
[FEATURE] Option to build & install QCH file with the public API dox
Using the new extra-cmake-modules module ECMAddQch (since 5.36.0)
this adds the option to automatically build and install a file
in QCH format with the docs about the public API, which then can be
used e.g. in Qt Assistant, Qt Creator or KDevelop.
Additionally the installed cmake config files will be extended
with a target KF5Config_QCH containing information about how to "link"
into the generated QCH file, which then can be used in the cmake build
system of other libraries building on this library, by
simply listing this target in "LINK_QCHS" of their ecm_add_qch() usage.
And a respective doxygen tag file with all the metadata about the
generated QCH file and used for the "linking" will be created and
installed.
Pass -DBUILD_QCH=ON to cmake to enable this.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r-- | CMakeLists.txt | 14 |
1 files changed, 14 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" |