]> cloud.milkyroute.net Git - dolphin.git/blob - CMakeLists.txt
Fix build in a kdelibs4-free enviroment
[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 Concurrent
37 Widgets
38 Gui
39 DBus
40 )
41
42 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
43 DocTools
44 Init
45 KCMUtils
46 NewStuff
47 CoreAddons
48 I18n
49 DBusAddons
50 Bookmarks
51 Config
52 KIO
53 Parts
54 Solid
55 IconThemes
56 Completion
57 TextEditor
58 WindowSystem
59 Notifications
60 )
61 find_package(KF5 ${KF5_MIN_VERSION} COMPONENTS
62 Activities
63 )
64
65 find_package(Phonon4Qt5 CONFIG REQUIRED)
66
67 find_package(KF5Baloo 4.97)
68 set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "Baloo Core libraries"
69 URL "http://www.kde.org"
70 TYPE OPTIONAL
71 PURPOSE "For adding desktop-wide search and tagging support to dolphin"
72 )
73
74 find_package(KF5BalooWidgets 4.97)
75 set_package_properties(KF5BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets"
76 URL "http://www.kde.org"
77 TYPE OPTIONAL
78 )
79
80 find_package(KF5FileMetaData 4.97)
81 set_package_properties(KF5FileMetaData PROPERTIES
82 URL "https://projects.kde.org/kfilemetadata"
83 TYPE OPTIONAL
84 PURPOSE "For accessing file metadata labels"
85 )
86
87 if (KF5Baloo_FOUND AND KF5BalooWidgets_FOUND AND KF5FileMetaData_FOUND)
88 message(STATUS "Baloo packages are found")
89 set(HAVE_BALOO TRUE)
90 else()
91 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS
92 KDELibs4Support # for KFileMetaDataWidget
93 )
94 endif()
95
96 add_subdirectory(src)
97 add_subdirectory(docs)
98
99 # CMake files
100 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/DolphinVcs")
101
102 ecm_configure_package_config_file(
103 "${CMAKE_CURRENT_SOURCE_DIR}/DolphinVcsConfig.cmake.in"
104 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
105 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR}
106 )
107
108 install(FILES
109 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake"
110 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake"
111 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
112 COMPONENT Devel
113 )
114
115 install(EXPORT DolphinVcsTargets
116 DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
117 FILE DolphinVcsTargets.cmake
118 )
119
120 install(FILES
121 "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h"
122 DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin"
123 COMPONENT Devel
124 )
125
126 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
127