]> cloud.milkyroute.net Git - dolphin.git/blob - CMakeLists.txt
Bump the Qt version to 5.4 and the KF5 version to 5.7
[dolphin.git] / CMakeLists.txt
1 cmake_minimum_required(VERSION 2.8.12)
2
3 project(Dolphin)
4
5 set(DOLPHIN_VERSION "14.12.95")
6
7 set(QT_MIN_VERSION "5.4.0")
8 set(KF5_MIN_VERSION "5.7.0")
9 set(ECM_MIN_VERSION "1.6.0")
10
11 # ECM setup
12 find_package(ECM ${ECM_MIN_VERSION} CONFIG REQUIRED)
13 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH})
14
15 include(ECMSetupVersion)
16 include(ECMGenerateHeaders)
17 include(ECMPackageConfigHelpers)
18 include(GenerateExportHeader)
19 include(FeatureSummary)
20 include(KDEInstallDirs)
21 include(KDECMakeSettings)
22 include(KDEFrameworkCompilerSettings)
23
24 ecm_setup_version(${DOLPHIN_VERSION} VARIABLE_PREFIX DOLPHINVCS
25 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h"
26 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake"
27 SOVERSION 5
28 )
29
30 ecm_setup_version(${DOLPHIN_VERSION} VARIABLE_PREFIX DOLPHINPRIVATE
31 SOVERSION 5
32 )
33
34 find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
35 Core
36 Widgets
37 Gui
38 DBus
39 Test
40 )
41
42 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
43 DocTools
44 Init
45 KCMUtils
46 KDELibs4Support
47 NewStuff
48 CoreAddons
49 I18n
50 DBusAddons
51 Bookmarks
52 Config
53 KIO
54 Parts
55 Solid
56 )
57 find_package(KF5 ${KF5_MIN_VERSION} COMPONENTS
58 Activities
59 )
60
61 find_package(Phonon4Qt5 CONFIG REQUIRED)
62
63 find_package(KF5Baloo 4.97)
64 set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "Baloo Core libraries"
65 URL "http://www.kde.org"
66 TYPE OPTIONAL
67 PURPOSE "For adding desktop-wide search and tagging support to dolphin"
68 )
69
70 find_package(KF5BalooWidgets 4.97)
71 set_package_properties(KF5BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets"
72 URL "http://www.kde.org"
73 TYPE OPTIONAL
74 )
75
76 find_package(KF5FileMetaData 4.97)
77 set_package_properties(KF5FileMetaData PROPERTIES
78 URL "https://projects.kde.org/kfilemetadata"
79 TYPE OPTIONAL
80 PURPOSE "For accessing file metadata labels"
81 )
82
83 if (KF5Baloo_FOUND AND KF5BalooWidgets_FOUND AND KF5FileMetaData_FOUND)
84 message(STATUS "Baloo packages are found")
85 set(HAVE_BALOO TRUE)
86 endif()
87
88 add_subdirectory(src)
89 add_subdirectory(docs)
90
91 # CMake files
92 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/DolphinVcs")
93
94 ecm_configure_package_config_file(
95 "${CMAKE_CURRENT_SOURCE_DIR}/DolphinVcsConfig.cmake.in"
96 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
97 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
98 )
99
100 install(FILES
101 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
102 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake"
103 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
104 COMPONENT Devel
105 )
106
107 install(EXPORT DolphinVcsTargets
108 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
109 FILE DolphinVcsTargets.cmake
110 )
111
112 install(FILES
113 "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h"
114 DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin"
115 COMPONENT Devel
116 )
117
118 # TODO Remove the if/endif lines if Dolphin is split.
119 if ("${CMAKE_SOURCE_DIR}" STREQUAL "${Dolphin_SOURCE_DIR}")
120 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
121 endif()