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