Changeset View
Changeset View
Standalone View
Standalone View
CMakeLists.txt
1 | cmake_minimum_required(VERSION 3.5) | 1 | cmake_minimum_required(VERSION 3.5) | ||
---|---|---|---|---|---|
2 | 2 | | |||
3 | # KDE Application Version, managed by release script | 3 | # KDE Application Version, managed by release script | ||
4 | set (RELEASE_SERVICE_VERSION_MAJOR "20") | 4 | set (RELEASE_SERVICE_VERSION_MAJOR "20") | ||
5 | set (RELEASE_SERVICE_VERSION_MINOR "07") | 5 | set (RELEASE_SERVICE_VERSION_MINOR "07") | ||
6 | set (RELEASE_SERVICE_VERSION_MICRO "70") | 6 | set (RELEASE_SERVICE_VERSION_MICRO "70") | ||
7 | set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") | 7 | set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") | ||
8 | 8 | | |||
9 | project(okular VERSION 1.10.${RELEASE_SERVICE_VERSION_MICRO}) | 9 | project(okular VERSION 1.10.${RELEASE_SERVICE_VERSION_MICRO}) | ||
10 | 10 | | |||
11 | set(QT_REQUIRED_VERSION "5.9.0") | 11 | set(QT_REQUIRED_VERSION "5.9.0") | ||
12 | set(KF5_REQUIRED_VERSION "5.44.0") | 12 | set(KF5_REQUIRED_VERSION "5.45.0") | ||
13 | 13 | | |||
14 | set(OKULAR_UI "desktop" CACHE STRING "Which Okular user interface to build. Possible values: desktop, mobile, both. Default: desktop") | 14 | set(OKULAR_UI "desktop" CACHE STRING "Which Okular user interface to build. Possible values: desktop, mobile, both. Default: desktop") | ||
15 | 15 | | |||
16 | if(OKULAR_UI STREQUAL "desktop" OR OKULAR_UI STREQUAL "both") | 16 | if(OKULAR_UI STREQUAL "desktop" OR OKULAR_UI STREQUAL "both") | ||
17 | set(BUILD_DESKTOP ON) | 17 | set(BUILD_DESKTOP ON) | ||
18 | else() | 18 | else() | ||
19 | set(BUILD_DESKTOP OFF) | 19 | set(BUILD_DESKTOP OFF) | ||
20 | endif() | 20 | endif() | ||
21 | if(OKULAR_UI STREQUAL "mobile" OR OKULAR_UI STREQUAL "both") | 21 | if(OKULAR_UI STREQUAL "mobile" OR OKULAR_UI STREQUAL "both") | ||
22 | set(BUILD_MOBILE ON) | 22 | set(BUILD_MOBILE ON) | ||
23 | else() | 23 | else() | ||
24 | set(BUILD_MOBILE OFF) | 24 | set(BUILD_MOBILE OFF) | ||
25 | endif() | 25 | endif() | ||
26 | 26 | | |||
27 | if (ANDROID) | 27 | if (ANDROID) | ||
28 | set(QT_REQUIRED_VERSION "5.13.0") | 28 | set(QT_REQUIRED_VERSION "5.13.0") | ||
29 | elseif (BUILD_MOBILE) | 29 | elseif (BUILD_MOBILE) | ||
30 | set(QT_REQUIRED_VERSION "5.12.0") | 30 | set(QT_REQUIRED_VERSION "5.12.0") | ||
31 | endif() | 31 | endif() | ||
32 | 32 | | |||
33 | find_package(ECM 5.33.0 CONFIG REQUIRED) | 33 | find_package(ECM ${KF5_REQUIRED_VERSION} CONFIG REQUIRED) | ||
34 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) | 34 | set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}) | ||
35 | 35 | | |||
36 | include(ECMInstallIcons) | 36 | include(ECMInstallIcons) | ||
37 | include(ECMSetupVersion) | 37 | include(ECMSetupVersion) | ||
38 | include(ECMOptionalAddSubdirectory) | 38 | include(ECMOptionalAddSubdirectory) | ||
39 | include(GenerateExportHeader) | 39 | include(GenerateExportHeader) | ||
40 | include(FeatureSummary) | 40 | include(FeatureSummary) | ||
41 | include(ECMAddAppIcon) | 41 | include(ECMAddAppIcon) | ||
42 | include(KDECompilerSettings NO_POLICY_SCOPE) | 42 | include(KDECompilerSettings NO_POLICY_SCOPE) | ||
43 | include(KDEInstallDirs) | 43 | include(KDEInstallDirs) | ||
44 | include(KDECMakeSettings) | 44 | include(KDECMakeSettings) | ||
45 | include(ECMAddTests) | 45 | include(ECMAddTests) | ||
46 | include(ECMAddAppIcon) | 46 | include(ECMAddAppIcon) | ||
47 | include(CMakePackageConfigHelpers) | 47 | include(CMakePackageConfigHelpers) | ||
48 | include(ECMSetupQtPluginMacroNames) | ||||
48 | 49 | | |||
49 | set(CMAKE_CXX_STANDARD 14) | 50 | set(CMAKE_CXX_STANDARD 14) | ||
50 | set(CMAKE_CXX_STANDARD_REQUIRED ON) | 51 | set(CMAKE_CXX_STANDARD_REQUIRED ON) | ||
51 | set(CMAKE_CXX_EXTENSIONS OFF) | 52 | set(CMAKE_CXX_EXTENSIONS OFF) | ||
52 | 53 | | |||
53 | ecm_setup_version(${PROJECT_VERSION} | 54 | ecm_setup_version(${PROJECT_VERSION} | ||
54 | VARIABLE_PREFIX OKULAR | 55 | VARIABLE_PREFIX OKULAR | ||
55 | VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/core/version.h" | 56 | VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/core/version.h" | ||
56 | PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/Okular5ConfigVersion.cmake") | 57 | PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/Okular5ConfigVersion.cmake") | ||
57 | 58 | | |||
58 | find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Core DBus Test Widgets PrintSupport Svg Qml Quick) | 59 | find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS Core DBus Test Widgets PrintSupport Svg Qml Quick) | ||
59 | find_package(Qt5 ${QT_REQUIRED_VERSION} OPTIONAL_COMPONENTS TextToSpeech) | 60 | find_package(Qt5 ${QT_REQUIRED_VERSION} OPTIONAL_COMPONENTS TextToSpeech) | ||
60 | if (NOT Qt5TextToSpeech_FOUND) | 61 | if (NOT Qt5TextToSpeech_FOUND) | ||
61 | message(STATUS "Qt5TextToSpeech not found, speech features will be disabled") | 62 | message(STATUS "Qt5TextToSpeech not found, speech features will be disabled") | ||
62 | else() | 63 | else() | ||
63 | add_definitions(-DHAVE_SPEECH) | 64 | add_definitions(-DHAVE_SPEECH) | ||
64 | endif() | 65 | endif() | ||
65 | 66 | | |||
66 | if(ANDROID) | 67 | if(ANDROID) | ||
67 | find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS AndroidExtras) | 68 | find_package(Qt5 ${QT_REQUIRED_VERSION} CONFIG REQUIRED COMPONENTS AndroidExtras) | ||
68 | endif() | 69 | endif() | ||
69 | 70 | | |||
70 | if(NOT CMAKE_VERSION VERSION_LESS "3.10.0") | 71 | ecm_setup_qtplugin_macro_names( | ||
71 | # CMake 3.9+ warns about automoc on files without Q_OBJECT, and doesn't know about other macros. | 72 | JSON_ARG2 | ||
72 | # 3.10+ lets us provide more macro names that require automoc. | 73 | "OKULAR_EXPORT_PLUGIN" | ||
73 | list(APPEND CMAKE_AUTOMOC_MACRO_NAMES "OKULAR_EXPORT_PLUGIN") | 74 | CONFIG_CODE_VARIABLE | ||
74 | endif() | 75 | PACKAGE_SETUP_AUTOMOC_VARIABLES | ||
76 | ) | ||||
75 | 77 | | |||
76 | set(optionalComponents) | 78 | set(optionalComponents) | ||
77 | if (ANDROID) | 79 | if (ANDROID) | ||
78 | # we want to make sure that generally all components are found | 80 | # we want to make sure that generally all components are found | ||
79 | 81 | | |||
80 | set(optionalComponents "OPTIONAL_COMPONENTS") | 82 | set(optionalComponents "OPTIONAL_COMPONENTS") | ||
81 | endif() | 83 | endif() | ||
82 | 84 | | |||
▲ Show 20 Lines • Show All 446 Lines • Show Last 20 Lines |