]> cloud.milkyroute.net Git - dolphin.git/blob - CMakeLists.txt
Merge branch 'Applications/18.08'
[dolphin.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 3.0)
2
3 # KDE Application Version, managed by release script
4 set (KDE_APPLICATIONS_VERSION_MAJOR "18")
5 set (KDE_APPLICATIONS_VERSION_MINOR "11")
6 set (KDE_APPLICATIONS_VERSION_MICRO "70")
7 set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")
8 project(Dolphin VERSION ${KDE_APPLICATIONS_VERSION})
9
10 set(QT_MIN_VERSION "5.8.0")
11 set(KF5_MIN_VERSION "5.43.0")
12
13 # ECM setup
14 find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED)
15 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
16
17 include(ECMSetupVersion)
18 include(ECMGenerateHeaders)
19 include(CMakePackageConfigHelpers)
20 include(GenerateExportHeader)
21 include(FeatureSummary)
22 include(KDEInstallDirs)
23 include(KDECMakeSettings)
24 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE)
25
26 ecm_setup_version(${KDE_APPLICATIONS_VERSION} VARIABLE_PREFIX DOLPHIN
27 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/dolphin_version.h"
28 )
29
30 ecm_setup_version("5.0.0" VARIABLE_PREFIX DOLPHINVCS
31 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h"
32 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake"
33 SOVERSION 5
34 )
35
36 ecm_setup_version("5.0.0" VARIABLE_PREFIX DOLPHINPRIVATE
37 SOVERSION 5
38 )
39
40 find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
41 Core
42 Concurrent
43 Widgets
44 Gui
45 DBus
46 )
47
48 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
49 DocTools
50 Init
51 KCMUtils
52 NewStuff
53 CoreAddons
54 I18n
55 DBusAddons
56 Bookmarks
57 Config
58 KIO
59 Parts
60 Solid
61 IconThemes
62 Completion
63 TextWidgets
64 Notifications
65 Crash
66 )
67 find_package(KF5 ${KF5_MIN_VERSION} OPTIONAL_COMPONENTS
68 Activities
69 )
70
71 find_package(Phonon4Qt5 CONFIG REQUIRED)
72
73 find_package(KF5Baloo 4.97)
74 set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "Baloo Core libraries"
75 URL "http://www.kde.org"
76 TYPE OPTIONAL
77 PURPOSE "For adding desktop-wide search and tagging support to dolphin"
78 )
79
80 find_package(KF5BalooWidgets 18.07.70)
81 set_package_properties(KF5BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets"
82 URL "http://www.kde.org"
83 TYPE OPTIONAL
84 )
85
86 find_package(KF5FileMetaData 5.19.0)
87 set_package_properties(KF5FileMetaData PROPERTIES
88 URL "https://projects.kde.org/kfilemetadata"
89 TYPE OPTIONAL
90 PURPOSE "For accessing file metadata labels"
91 )
92
93 if (KF5Baloo_FOUND AND KF5BalooWidgets_FOUND AND KF5FileMetaData_FOUND)
94 message(STATUS "Baloo packages are found")
95 set(HAVE_BALOO TRUE)
96 else()
97 message(WARNING "Baloo packages not found. They are needed for the metadata features of Dolphin (including the information panel).")
98 endif()
99
100 add_subdirectory(src)
101 add_subdirectory(doc)
102
103 # CMake files
104 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/DolphinVcs")
105
106 configure_package_config_file(
107 "${CMAKE_CURRENT_SOURCE_DIR}/DolphinVcsConfig.cmake.in"
108 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
109 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
110 )
111
112 install(FILES
113 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
114 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake"
115 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
116 COMPONENT Devel
117 )
118
119 install(EXPORT DolphinVcsTargets
120 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
121 FILE DolphinVcsTargets.cmake
122 )
123
124 install(FILES
125 "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h"
126 DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin"
127 COMPONENT Devel
128 )
129
130 configure_file(org.kde.dolphin.FileManager1.service.in
131 ${CMAKE_CURRENT_BINARY_DIR}/org.kde.dolphin.FileManager1.service)
132 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.dolphin.FileManager1.service
133 DESTINATION ${DBUS_SERVICES_INSTALL_DIR})
134
135 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
136