Changeset View
Changeset View
Standalone View
Standalone View
CMakeLists.txt
Show All 31 Lines | 31 | if("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}") | |||
---|---|---|---|---|---|
32 | find_package(KF5CoreAddons ${KF5_DEP_VERSION} REQUIRED) | 32 | find_package(KF5CoreAddons ${KF5_DEP_VERSION} REQUIRED) | ||
33 | find_package(KF5WidgetsAddons ${KF5_DEP_VERSION} REQUIRED) | 33 | find_package(KF5WidgetsAddons ${KF5_DEP_VERSION} REQUIRED) | ||
34 | endif() | 34 | endif() | ||
35 | 35 | | |||
36 | 36 | | |||
37 | include(GenerateExportHeader) | 37 | include(GenerateExportHeader) | ||
38 | include(ECMSetupVersion) | 38 | include(ECMSetupVersion) | ||
39 | include(ECMGenerateHeaders) | 39 | include(ECMGenerateHeaders) | ||
40 | include(ECMAddQch) | ||||
41 | | ||||
42 | option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF) | ||||
43 | add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)") | ||||
40 | 44 | | |||
41 | ecm_setup_version(PROJECT VARIABLE_PREFIX KJOBWIDGETS | 45 | ecm_setup_version(PROJECT VARIABLE_PREFIX KJOBWIDGETS | ||
42 | VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kjobwidgets_version.h" | 46 | VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kjobwidgets_version.h" | ||
43 | PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5JobWidgetsConfigVersion.cmake" | 47 | PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5JobWidgetsConfigVersion.cmake" | ||
44 | SOVERSION 5) | 48 | SOVERSION 5) | ||
45 | 49 | | |||
46 | remove_definitions(-DQT_NO_CAST_FROM_ASCII) | 50 | remove_definitions(-DQT_NO_CAST_FROM_ASCII) | ||
47 | remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY) | 51 | remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY) | ||
48 | 52 | | |||
49 | if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") | 53 | if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po") | ||
50 | ecm_install_po_files_as_qm(po) | 54 | ecm_install_po_files_as_qm(po) | ||
51 | endif() | 55 | endif() | ||
52 | 56 | | |||
53 | add_subdirectory(src) | 57 | add_subdirectory(src) | ||
54 | add_subdirectory(tests) | 58 | add_subdirectory(tests) | ||
55 | add_subdirectory(autotests) | 59 | add_subdirectory(autotests) | ||
56 | 60 | | |||
57 | 61 | | |||
58 | # create a Config.cmake and a ConfigVersion.cmake file and install them | 62 | # create a Config.cmake and a ConfigVersion.cmake file and install them | ||
59 | set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5JobWidgets") | 63 | set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5JobWidgets") | ||
60 | 64 | | |||
65 | if (BUILD_QCH) | ||||
66 | ecm_install_qch_export( | ||||
67 | TARGETS KF5JobWidgets_QCH | ||||
68 | FILE KF5JobWidgetsQchTargets.cmake | ||||
69 | DESTINATION "${CMAKECONFIG_INSTALL_DIR}" | ||||
70 | COMPONENT Devel | ||||
71 | ) | ||||
72 | set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/KF5JobWidgetsQchTargets.cmake\")") | ||||
73 | endif() | ||||
74 | | ||||
61 | include(CMakePackageConfigHelpers) | 75 | include(CMakePackageConfigHelpers) | ||
62 | 76 | | |||
63 | configure_package_config_file( | 77 | configure_package_config_file( | ||
64 | "${CMAKE_CURRENT_SOURCE_DIR}/KF5JobWidgetsConfig.cmake.in" | 78 | "${CMAKE_CURRENT_SOURCE_DIR}/KF5JobWidgetsConfig.cmake.in" | ||
65 | "${CMAKE_CURRENT_BINARY_DIR}/KF5JobWidgetsConfig.cmake" | 79 | "${CMAKE_CURRENT_BINARY_DIR}/KF5JobWidgetsConfig.cmake" | ||
66 | PATH_VARS KDE_INSTALL_DBUSINTERFACEDIR | 80 | PATH_VARS KDE_INSTALL_DBUSINTERFACEDIR | ||
67 | INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} | 81 | INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} | ||
68 | ) | 82 | ) | ||
69 | 83 | | |||
70 | install(FILES | 84 | install(FILES | ||
71 | "${CMAKE_CURRENT_BINARY_DIR}/KF5JobWidgetsConfig.cmake" | 85 | "${CMAKE_CURRENT_BINARY_DIR}/KF5JobWidgetsConfig.cmake" | ||
72 | "${CMAKE_CURRENT_BINARY_DIR}/KF5JobWidgetsConfigVersion.cmake" | 86 | "${CMAKE_CURRENT_BINARY_DIR}/KF5JobWidgetsConfigVersion.cmake" | ||
73 | DESTINATION "${CMAKECONFIG_INSTALL_DIR}" | 87 | DESTINATION "${CMAKECONFIG_INSTALL_DIR}" | ||
74 | COMPONENT Devel | 88 | COMPONENT Devel | ||
75 | ) | 89 | ) | ||
76 | 90 | | |||
77 | install(EXPORT KF5JobWidgetsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5JobWidgetsTargets.cmake NAMESPACE KF5:: ) | 91 | install(EXPORT KF5JobWidgetsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5JobWidgetsTargets.cmake NAMESPACE KF5:: ) | ||
78 | 92 | | |||
79 | install(FILES | 93 | install(FILES | ||
shumski: I wonder about the reasoning behind the existence of this export, and installation of it... | |||||
Imagine another project with a lib MyLib linking against KJobWidgets (in the public interface). For MyLib also a QCH file should be created. To create proper links from the QCH file for MyLib into the QCH file of KJobWidgets (via qthelp:// urls), doxygen/the qt tools need to have access to some information. This information is bound to the KF5JobWidgets_QCH target (see https://phabricator.kde.org/D2854). kossebau: Imagine another project with a lib MyLib linking against KJobWidgets (in the public interface). | |||||
shumski: Allright, make sense. | |||||
80 | ${CMAKE_CURRENT_BINARY_DIR}/kjobwidgets_version.h | 94 | ${CMAKE_CURRENT_BINARY_DIR}/kjobwidgets_version.h | ||
81 | DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel | 95 | DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel | ||
82 | ) | 96 | ) | ||
83 | 97 | | |||
84 | if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}") | 98 | if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}") | ||
85 | feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) | 99 | feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) | ||
86 | endif() | 100 | endif() |
I wonder about the reasoning behind the existence of this export, and installation of it...