]> cloud.milkyroute.net Git - dolphin.git/blob - CMakeLists.txt
Speedup sort
[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 "07")
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.")
98 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
99 KDELibs4Support # for KFileMetaDataWidget
100 )
101 endif()
102
103 add_subdirectory(src)
104 add_subdirectory(doc)
105
106 # CMake files
107 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/DolphinVcs")
108
109 configure_package_config_file(
110 "${CMAKE_CURRENT_SOURCE_DIR}/DolphinVcsConfig.cmake.in"
111 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
112 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
113 )
114
115 install(FILES
116 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
117 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake"
118 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
119 COMPONENT Devel
120 )
121
122 install(EXPORT DolphinVcsTargets
123 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
124 FILE DolphinVcsTargets.cmake
125 )
126
127 install(FILES
128 "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h"
129 DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin"
130 COMPONENT Devel
131 )
132
133 configure_file(org.kde.dolphin.FileManager1.service.in
134 ${CMAKE_CURRENT_BINARY_DIR}/org.kde.dolphin.FileManager1.service)
135 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.dolphin.FileManager1.service
136 DESTINATION ${DBUS_SERVICES_INSTALL_DIR})
137
138 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
139