]> cloud.milkyroute.net Git - dolphin.git/blob - CMakeLists.txt
Merge branch 'Applications/16.04'
[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 "16")
7 set (KDE_APPLICATIONS_VERSION_MINOR "04")
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.21.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 )
70 find_package(KF5 ${KF5_MIN_VERSION} OPTIONAL_COMPONENTS
71 Activities
72 )
73
74 find_package(Phonon4Qt5 CONFIG REQUIRED)
75
76 find_package(KF5Baloo 4.97)
77 set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "Baloo Core libraries"
78 URL "http://www.kde.org"
79 TYPE OPTIONAL
80 PURPOSE "For adding desktop-wide search and tagging support to dolphin"
81 )
82
83 find_package(KF5BalooWidgets 4.97)
84 set_package_properties(KF5BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets"
85 URL "http://www.kde.org"
86 TYPE OPTIONAL
87 )
88
89 find_package(KF5FileMetaData 5.19.0)
90 set_package_properties(KF5FileMetaData PROPERTIES
91 URL "https://projects.kde.org/kfilemetadata"
92 TYPE OPTIONAL
93 PURPOSE "For accessing file metadata labels"
94 )
95
96 if (KF5Baloo_FOUND AND KF5BalooWidgets_FOUND AND KF5FileMetaData_FOUND)
97 message(STATUS "Baloo packages are found")
98 set(HAVE_BALOO TRUE)
99 else()
100 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
101 KDELibs4Support # for KFileMetaDataWidget
102 )
103 endif()
104
105 add_subdirectory(src)
106 add_subdirectory(doc)
107
108 # CMake files
109 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/DolphinVcs")
110
111 ecm_configure_package_config_file(
112 "${CMAKE_CURRENT_SOURCE_DIR}/DolphinVcsConfig.cmake.in"
113 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
114 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
115 )
116
117 install(FILES
118 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
119 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake"
120 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
121 COMPONENT Devel
122 )
123
124 install(EXPORT DolphinVcsTargets
125 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
126 FILE DolphinVcsTargets.cmake
127 )
128
129 install(FILES
130 "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h"
131 DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin"
132 COMPONENT Devel
133 )
134
135 configure_file(org.kde.dolphin.FileManager1.service.in
136 ${CMAKE_CURRENT_BINARY_DIR}/org.kde.dolphin.FileManager1.service)
137 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.dolphin.FileManager1.service
138 DESTINATION ${DBUS_SERVICES_INSTALL_DIR})
139
140 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
141