Changeset View
Changeset View
Standalone View
Standalone View
CMakeLists.txt
Show All 9 Lines | |||||
10 | feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) | 10 | feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND FATAL_ON_MISSING_REQUIRED_PACKAGES) | ||
11 | 11 | | |||
12 | set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) | 12 | set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake) | ||
13 | 13 | | |||
14 | include(KDEInstallDirs) | 14 | include(KDEInstallDirs) | ||
15 | include(KDECMakeSettings) | 15 | include(KDECMakeSettings) | ||
16 | include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) | 16 | include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) | ||
17 | include(GtkUpdateIconCache) | 17 | include(GtkUpdateIconCache) | ||
18 | include(ECMGenerateExportHeader) | ||||
19 | include(ECMSetupVersion) | ||||
18 | 20 | | |||
19 | # Dependencies | 21 | # Dependencies | ||
20 | set(REQUIRED_QT_VERSION 5.11.0) | 22 | set(REQUIRED_QT_VERSION 5.11.0) | ||
21 | 23 | | |||
22 | # When cross-compiling, we should compile qrcAlias natively (against a native Qt build) | 24 | # When cross-compiling, we should compile qrcAlias natively (against a native Qt build) | ||
23 | if (CMAKE_CROSSCOMPILING) | 25 | if (CMAKE_CROSSCOMPILING) | ||
24 | set(BINARY_ICONS_RESOURCE_OPTION_DEFAULT OFF) | 26 | set(BINARY_ICONS_RESOURCE_OPTION_DEFAULT OFF) | ||
25 | else() | 27 | else() | ||
26 | set(BINARY_ICONS_RESOURCE_OPTION_DEFAULT ON) | 28 | set(BINARY_ICONS_RESOURCE_OPTION_DEFAULT ON) | ||
27 | endif() | 29 | endif() | ||
28 | 30 | | |||
29 | option(BINARY_ICONS_RESOURCE "Install Qt binary resource files containing breeze icons (breeze-icons.rcc, breeze-icons-dark.rcc)" ${BINARY_ICONS_RESOURCE_OPTION_DEFAULT}) | 31 | option(BINARY_ICONS_RESOURCE "Install Qt binary resource files containing breeze icons (breeze-icons.rcc, breeze-icons-dark.rcc)" ${BINARY_ICONS_RESOURCE_OPTION_DEFAULT}) | ||
30 | option(SKIP_INSTALL_ICONS "Skip installing the icons files" OFF) | 32 | option(SKIP_INSTALL_ICONS "Skip installing the icons files" OFF) | ||
31 | 33 | | |||
34 | ecm_setup_version(PROJECT | ||||
35 | VARIABLE_PREFIX BREEZEICONS | ||||
36 | VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/breezeicons_version.h" | ||||
37 | PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5BreezeIconsConfigVersion.cmake" | ||||
38 | SOVERSION 5) | ||||
39 | | ||||
32 | if(BINARY_ICONS_RESOURCE) | 40 | if(BINARY_ICONS_RESOURCE) | ||
41 | find_package(Qt5Gui ${REQUIRED_QT_VERSION} REQUIRED NO_MODULE) | ||||
33 | find_package(Qt5 NO_MODULE REQUIRED Core) | 42 | find_package(Qt5 NO_MODULE REQUIRED Core) | ||
34 | add_executable(qrcAlias qrcAlias.cpp) | 43 | add_executable(qrcAlias qrcAlias.cpp) | ||
35 | target_link_libraries(qrcAlias PUBLIC Qt5::Core) | 44 | target_link_libraries(qrcAlias PUBLIC Qt5::Core) | ||
36 | 45 | | |||
37 | function(generate_binary_resource target outfile) | 46 | function(generate_binary_resource target outfile) | ||
38 | set(RESOURCES_WORKING_DIR ${CMAKE_CURRENT_BINARY_DIR}/res) | 47 | set(RESOURCES_WORKING_DIR ${CMAKE_CURRENT_BINARY_DIR}/res) | ||
39 | set(RESOURCE_FILE ${RESOURCES_WORKING_DIR}/breeze-${target}.qrc) | 48 | set(RESOURCE_FILE ${RESOURCES_WORKING_DIR}/breeze-${target}.qrc) | ||
40 | set(BINARY_RESOURCE_FILE ${CMAKE_CURRENT_BINARY_DIR}/breeze-${target}.rcc) | 49 | set(BINARY_RESOURCE_FILE ${CMAKE_CURRENT_BINARY_DIR}/breeze-${target}.rcc) | ||
▲ Show 20 Lines • Show All 45 Lines • ▼ Show 20 Line(s) | 88 | if(SH_EXE AND XMLLINT_EXE) | |||
86 | ) | 95 | ) | ||
87 | endif() | 96 | endif() | ||
88 | endif() | 97 | endif() | ||
89 | 98 | | |||
90 | add_subdirectory(autotests) | 99 | add_subdirectory(autotests) | ||
91 | add_subdirectory(icons) | 100 | add_subdirectory(icons) | ||
92 | add_subdirectory(icons-dark) | 101 | add_subdirectory(icons-dark) | ||
93 | 102 | | |||
103 | if(BINARY_ICONS_RESOURCE) | ||||
104 | # create a Config.cmake and a ConfigVersion.cmake file and install them | ||||
105 | set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5BreezeIcons") | ||||
106 | | ||||
107 | include(CMakePackageConfigHelpers) | ||||
108 | | ||||
109 | configure_package_config_file( | ||||
110 | "${CMAKE_CURRENT_SOURCE_DIR}/KF5BreezeIconsConfig.cmake.in" | ||||
111 | "${CMAKE_CURRENT_BINARY_DIR}/KF5BreezeIconsConfig.cmake" | ||||
112 | INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} | ||||
113 | ) | ||||
114 | | ||||
115 | install(FILES | ||||
116 | "${CMAKE_CURRENT_BINARY_DIR}/KF5BreezeIconsConfig.cmake" | ||||
117 | "${CMAKE_CURRENT_BINARY_DIR}/KF5BreezeIconsConfigVersion.cmake" | ||||
118 | DESTINATION "${CMAKECONFIG_INSTALL_DIR}" | ||||
119 | COMPONENT Devel | ||||
120 | ) | ||||
121 | | ||||
122 | install(EXPORT KF5BreezeIconsTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5BreezeIconsTargets.cmake NAMESPACE KF5:: ) | ||||
123 | | ||||
124 | install(FILES | ||||
125 | ${CMAKE_CURRENT_BINARY_DIR}/breezeicons_version.h | ||||
126 | DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF5} COMPONENT Devel | ||||
127 | ) | ||||
128 | | ||||
129 | add_subdirectory(src) | ||||
130 | endif() | ||||
131 | | ||||
94 | feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES INCLUDE_QUIET_PACKAGES) | 132 | feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES INCLUDE_QUIET_PACKAGES) |