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