diff --git a/CMakeLists.txt b/CMakeLists.txt index 3751c3f..15fa628 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -21,8 +21,12 @@ include(FeatureSummary) include(KDEGitCommitHooks) include(ECMQtDeclareLoggingCategory) include(ECMAddTests) +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(QT_REQUIRED_VERSION "5.15.2") set(MAILCOMMON_LIB_VERSION ${PIM_VERSION}) @@ -129,4 +133,15 @@ if(BUILD_TESTING) endif() kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) ki18n_install(po) + +if (BUILD_QCH) + ecm_install_qch_export( + TARGETS KF5MailCommon_QCH + FILE KF5MailCommonQchTargets.cmake + DESTINATION "${CMAKECONFIG_INSTALL_DIR}" + COMPONENT Devel + ) + set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5MailCommonQchTargets.cmake\")") +endif() + feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index e1a2692..fa5ffa1 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -526,4 +526,43 @@ if(BUILD_DESIGNERPLUGIN) add_subdirectory(designer) endif() +if (BUILD_QCH) + ecm_add_qch( + KF5MailCommon_QCH + NAME KF5MailCommon + BASE_NAME KF5MailCommon + VERSION ${PIM_VERSION} + ORG_DOMAIN org.kde + SOURCES # using only public headers, to cover only public API + ${MailCommon_HEADERS} + ${MailCommon_top_HEADERS} + ${MailCommon_tag_HEADERS} + ${MailCommon_folder_HEADERS} + ${MailCommon_kernel_HEADERS} + ${MailCommon_interfaces_HEADERS} + ${MailCommon_filter_HEADERS} + ${MailCommon_job_HEADERS} + ${MailCommon_filteraction_HEADERS} + ${MailCommon_mdn_HEADERS} + ${MailCommon_collectionpage_HEADERS} + ${MailCommon_collectionpageattributes_HEADERS} + ${MailCommon_filterimporter_HEADERS} + ${MailCommon_snippets_HEADERS} + ${MailCommon_widgets_HEADERS} + #MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" + #IMAGE_DIRS "${CMAKE_SOURCE_DIR}/docs/pics" + LINK_QCHS + Qt5Core_QCH + Qt5Gui_QCH + Qt5Widgets_QCH + INCLUDE_DIRS + ${CMAKE_CURRENT_BINARY_DIR} + BLANK_MACROS + MAILCOMMON_EXPORT + TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} + QCH_INSTALL_DESTINATION ${KDE_INSTALL_QTQCHDIR} + COMPONENT Devel + ) +endif() + ecm_qt_install_logging_categories(EXPORT MAILCOMMON FILE mailcommon.categories DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR})