X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/8679115552ec65ccfc6cbc1db68414d80e3a081b..b7ad5fb99d32d43fe4e083a8ffc2ebfbd046d2db:/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 570910497..7e6111307 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,33 +2,76 @@ cmake_minimum_required(VERSION 2.8.12) project(Dolphin) -# ECM setup -find_package(ECM 1.2.0 CONFIG REQUIRED) -set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) +# KDE Application Version, managed by release script +set (KDE_APPLICATIONS_VERSION_MAJOR "16") +set (KDE_APPLICATIONS_VERSION_MINOR "04") +set (KDE_APPLICATIONS_VERSION_MICRO "1") +set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}") + +set(QT_MIN_VERSION "5.4.0") +set(KF5_MIN_VERSION "5.21.0") +set(ECM_MIN_VERSION "1.6.0") -set(DOLPHIN_VERSION "4.97.0") +# ECM setup +find_package(ECM ${ECM_MIN_VERSION} CONFIG REQUIRED) +set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) include(ECMSetupVersion) +include(ECMGenerateHeaders) +include(ECMPackageConfigHelpers) include(GenerateExportHeader) include(FeatureSummary) include(KDEInstallDirs) include(KDECMakeSettings) -include(KDEFrameworkCompilerSettings) +include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) + +ecm_setup_version(${KDE_APPLICATIONS_VERSION} VARIABLE_PREFIX DOLPHIN + VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/dolphin_version.h" +) + +ecm_setup_version("5.0.0" VARIABLE_PREFIX DOLPHINVCS + VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h" + PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake" + SOVERSION 5 +) -ecm_setup_version(${DOLPHIN_VERSION} VARIABLE_PREFIX DOLPHINPRIVATE +ecm_setup_version("5.0.0" VARIABLE_PREFIX DOLPHINPRIVATE SOVERSION 5 ) -find_package(KF5 REQUIRED COMPONENTS DocTools Init KCMUtils KDELibs4Support NewStuff CoreAddons I18n DBusAddons) -find_package(KF5 COMPONENTS Activities) +find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS + Core + Concurrent + Widgets + Gui + DBus +) -find_package(Phonon4Qt5 CONFIG REQUIRED) +find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS + DocTools + Init + KCMUtils + NewStuff + CoreAddons + I18n + DBusAddons + Bookmarks + Config + KIO + Parts + Solid + IconThemes + Completion + TextWidgets + WindowSystem + Notifications + Crash +) +find_package(KF5 ${KF5_MIN_VERSION} OPTIONAL_COMPONENTS + Activities +) -if ("${CMAKE_SOURCE_DIR}" STREQUAL "${Dolphin_SOURCE_DIR}") - find_package(KF5Konq CONFIG REQUIRED) -else() - include_directories(${LibKonq_SOURCE_DIR}/src) -endif() +find_package(Phonon4Qt5 CONFIG REQUIRED) find_package(KF5Baloo 4.97) set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "Baloo Core libraries" @@ -43,7 +86,7 @@ set_package_properties(KF5BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets" TYPE OPTIONAL ) -find_package(KF5FileMetaData 4.97) +find_package(KF5FileMetaData 5.19.0) set_package_properties(KF5FileMetaData PROPERTIES URL "https://projects.kde.org/kfilemetadata" TYPE OPTIONAL @@ -53,12 +96,46 @@ set_package_properties(KF5FileMetaData PROPERTIES if (KF5Baloo_FOUND AND KF5BalooWidgets_FOUND AND KF5FileMetaData_FOUND) message(STATUS "Baloo packages are found") set(HAVE_BALOO TRUE) +else() + find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS + KDELibs4Support # for KFileMetaDataWidget + ) endif() add_subdirectory(src) -add_subdirectory(docs) +add_subdirectory(doc) + +# CMake files +set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/DolphinVcs") + +ecm_configure_package_config_file( + "${CMAKE_CURRENT_SOURCE_DIR}/DolphinVcsConfig.cmake.in" + "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake" + INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} +) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake" + DESTINATION "${CMAKECONFIG_INSTALL_DIR}" + COMPONENT Devel +) + +install(EXPORT DolphinVcsTargets + DESTINATION "${CMAKECONFIG_INSTALL_DIR}" + FILE DolphinVcsTargets.cmake +) + +install(FILES + "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h" + DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin" + COMPONENT Devel +) + +configure_file(org.kde.dolphin.FileManager1.service.in + ${CMAKE_CURRENT_BINARY_DIR}/org.kde.dolphin.FileManager1.service) +install(FILES ${CMAKE_CURRENT_BINARY_DIR}/org.kde.dolphin.FileManager1.service + DESTINATION ${DBUS_SERVICES_INSTALL_DIR}) + +feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) -# TODO Remove the if/endif lines if Dolphin is split. -if ("${CMAKE_SOURCE_DIR}" STREQUAL "${Dolphin_SOURCE_DIR}") - feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) -endif()