diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,9 +21,10 @@ include(KDECMakeSettings) include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) include(ECMQtDeclareLoggingCategory) +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)") set(KCONTACTS_LIB_VERSION ${PIM_VERSION}) @@ -60,6 +61,16 @@ ########### CMake Config Files ########### set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Contacts") +if (BUILD_QCH) + ecm_install_qch_export( + TARGETS KF5Contacts_QCH + FILE KF5ContactsQchTargets.cmake + DESTINATION "${CMAKECONFIG_INSTALL_DIR}" + COMPONENT Devel + ) + set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5ContactsQchTargets.cmake\")") +endif() + configure_package_config_file( "${CMAKE_CURRENT_SOURCE_DIR}/KF5ContactsConfig.cmake.in" "${CMAKE_CURRENT_BINARY_DIR}/KF5ContactsConfig.cmake" diff --git a/KF5ContactsConfig.cmake.in b/KF5ContactsConfig.cmake.in --- a/KF5ContactsConfig.cmake.in +++ b/KF5ContactsConfig.cmake.in @@ -6,3 +6,5 @@ find_dependency(KF5Codecs "@KF5_MIN_VERSION@") include("${CMAKE_CURRENT_LIST_DIR}/KF5ContactsTargets.cmake") + +@PACKAGE_INCLUDE_QCHTARGETS@ diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -129,3 +129,24 @@ ecm_generate_pri_file(BASE_NAME KContacts LIB_NAME KF5Contacts DEPS "CoreAddons" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KContacts) install(FILES ${PRI_FILENAME} DESTINATION ${ECM_MKSPECS_INSTALL_DIR}) + +if(BUILD_QCH) + ecm_add_qch( + KF5Contacts_QCH + NAME KContacts + BASE_NAME KF5Contacts + VERSION ${KContacts_VERSION_STRING} + ORG_DOMAIN org.kde + SOURCES # using only public headers, to cover only public API + ${KContacts_HEADERS} + "${CMAKE_SOURCE_DIR}/docs/AddressFormat.md" + MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" + LINK_QCHS + Qt5Core_QCH + BLANK_MACROS + KCONTACTS_EXPORT + TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} + QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} + COMPONENT Devel + ) +endif()