]> cloud.milkyroute.net Git - dolphin.git/blob - CMakeLists.txt
cmake: add warning when baloo will be disabled
[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_definitions(-DQT_NO_URL_CAST_FROM_STRING)
104
105 add_subdirectory(src)
106 add_subdirectory(doc)
107
108 # CMake files
109 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/DolphinVcs")
110
111 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