diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -48,6 +48,10 @@ include(ECMSetupVersion) include(ECMGenerateHeaders) +include(ECMAddQch) + +option(BUILD_QCH "Build API documentation in QCH format" OFF) +add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format") set(KF5_VERSION "5.29.0") # handled by release scripts @@ -88,4 +92,14 @@ FILE KF5ArchiveTargets.cmake NAMESPACE KF5::) +if (BUILD_QCH) + set(KArchive_QCH_TARGETS KF5Archive_QCH) +endif() +ecm_install_qch_export( + TARGETS ${KArchive_QCH_TARGETS} + FILE KF5ArchiveQchTargets.cmake + DESTINATION "${CMAKECONFIG_INSTALL_DIR}" + COMPONENT Devel +) + feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff --git a/KF5ArchiveConfig.cmake.in b/KF5ArchiveConfig.cmake.in --- a/KF5ArchiveConfig.cmake.in +++ b/KF5ArchiveConfig.cmake.in @@ -7,4 +7,4 @@ set(KArchive_HAVE_LZMA "@LIBLZMA_FOUND@") include("${CMAKE_CURRENT_LIST_DIR}/KF5ArchiveTargets.cmake") - +include("${CMAKE_CURRENT_LIST_DIR}/KF5ArchiveQchTargets.cmake") diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -92,6 +92,25 @@ DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5}/KArchive COMPONENT Devel) +if(BUILD_QCH) + ecm_add_qch( + KF5Archive_QCH + NAME KArchive + BASE_NAME KF5Archive + VERSION ${KF5_VERSION} + ORG_DOMAIN org.kde + SOURCES ${KArchive_HEADERS} + MD_MAINPAGE "${CMAKE_SOURCE_DIR}/README.md" + LINK_QCHS + Qt5Core_QCH + BLANK_MACROS + KARCHIVE_EXPORT + KARCHIVE_DEPRECATED + TAGFILE_INSTALL_DESTINATION ${KDE_INSTALL_FULL_QTQCHDIR} + QCH_INSTALL_DESTINATION ${KDE_INSTALL_FULL_QTQCHDIR} + ) +endif() + include(ECMGeneratePriFile) ecm_generate_pri_file(BASE_NAME KArchive LIB_NAME KF5Archive DEPS "core" FILENAME_VAR PRI_FILENAME INCLUDE_INSTALL_DIR ${KDE_INSTALL_INCLUDEDIR_KF5}/KArchive) install(FILES ${PRI_FILENAME}