Warning, /system/dolphin/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 # KDE Application Version, managed by release script 0004 set (RELEASE_SERVICE_VERSION_MAJOR "23") 0005 set (RELEASE_SERVICE_VERSION_MINOR "07") 0006 set (RELEASE_SERVICE_VERSION_MICRO "70") 0007 set (RELEASE_SERVICE_VERSION "${RELEASE_SERVICE_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}.${RELEASE_SERVICE_VERSION_MICRO}") 0008 project(Dolphin VERSION ${RELEASE_SERVICE_VERSION}) 0009 0010 set(QT_MIN_VERSION "5.15.2") 0011 set(KF5_MIN_VERSION "5.101.0") 0012 0013 # ECM setup 0014 find_package(ECM ${KF5_MIN_VERSION} CONFIG REQUIRED) 0015 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) 0016 0017 include(KDEInstallDirs) 0018 include(KDECMakeSettings) 0019 include(KDECompilerSettings NO_POLICY_SCOPE) 0020 0021 include(ECMSetupVersion) 0022 include(ECMGenerateHeaders) 0023 include(ECMGenerateDBusServiceFile) 0024 include(ECMConfiguredInstall) 0025 include(CMakePackageConfigHelpers) 0026 include(GenerateExportHeader) 0027 include(FeatureSummary) 0028 include(ECMQtDeclareLoggingCategory) 0029 include(ECMDeprecationSettings) 0030 0031 ecm_setup_version(${RELEASE_SERVICE_VERSION} VARIABLE_PREFIX DOLPHIN 0032 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/src/dolphin_version.h" 0033 ) 0034 0035 ecm_setup_version("5.0.0" VARIABLE_PREFIX DOLPHINVCS 0036 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h" 0037 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake" 0038 SOVERSION 5 0039 ) 0040 0041 ecm_setup_version("5.0.0" VARIABLE_PREFIX DOLPHINPRIVATE 0042 SOVERSION 5 0043 ) 0044 0045 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS 0046 Core 0047 Concurrent 0048 Widgets 0049 Gui 0050 DBus 0051 ) 0052 0053 if (UNIX AND NOT APPLE) 0054 set(HAVE_X11 TRUE) 0055 0056 if (QT_MAJOR_VERSION STREQUAL "5") 0057 find_package(Qt5X11Extras REQUIRED) 0058 endif() 0059 endif() 0060 0061 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS 0062 KCMUtils 0063 NewStuff 0064 CoreAddons 0065 I18n 0066 DBusAddons 0067 Bookmarks 0068 Config 0069 KIO 0070 Parts 0071 Solid 0072 IconThemes 0073 Completion 0074 TextWidgets 0075 Notifications 0076 Crash 0077 WindowSystem 0078 WidgetsAddons 0079 Codecs 0080 ) 0081 0082 find_package(KUserFeedback 1.2.0) 0083 set_package_properties(KUserFeedback 0084 PROPERTIES TYPE OPTIONAL 0085 PURPOSE "Used for submission of telemetry data" 0086 ) 0087 0088 if(KUserFeedback_FOUND) 0089 set(HAVE_KUSERFEEDBACK TRUE) 0090 endif() 0091 0092 find_package(KF5 ${KF5_MIN_VERSION} OPTIONAL_COMPONENTS 0093 Activities 0094 DocTools 0095 ) 0096 set_package_properties(KF5Activities PROPERTIES DESCRIPTION "KActivities libraries" 0097 URL "https://www.kde.org" 0098 TYPE OPTIONAL 0099 PURPOSE "For tracking which folders are frequently accessed on a Plasma desktop" 0100 ) 0101 0102 find_package(Phonon4Qt${QT_MAJOR_VERSION} CONFIG REQUIRED) 0103 0104 find_package(PackageKitQt${QT_MAJOR_VERSION}) 0105 set_package_properties(PackageKitQt${QT_MAJOR_VERSION} 0106 PROPERTIES DESCRIPTION "Software Manager integration" 0107 TYPE OPTIONAL 0108 PURPOSE "Used in the service menu installer" 0109 ) 0110 if(PackageKitQt${QT_MAJOR_VERSION}_FOUND) 0111 set(HAVE_PACKAGEKIT TRUE) 0112 endif() 0113 0114 find_package(KF5Baloo ${KF5_MIN_VERSION}) 0115 set_package_properties(KF5Baloo PROPERTIES DESCRIPTION "Baloo Core libraries" 0116 URL "https://www.kde.org" 0117 TYPE OPTIONAL 0118 PURPOSE "For adding desktop-wide search and tagging support to dolphin" 0119 ) 0120 0121 find_package(KF5BalooWidgets 19.07.70) 0122 set_package_properties(KF5BalooWidgets PROPERTIES DESCRIPTION "Baloos Widgets" 0123 URL "https://www.kde.org" 0124 TYPE OPTIONAL 0125 ) 0126 0127 find_package(KF5FileMetaData ${KF5_MIN_VERSION}) 0128 set_package_properties(KF5FileMetaData PROPERTIES 0129 URL "https://projects.kde.org/kfilemetadata" 0130 TYPE OPTIONAL 0131 PURPOSE "For accessing file metadata labels" 0132 ) 0133 0134 if (KF5Activities_FOUND) 0135 set(HAVE_KACTIVITIES TRUE) 0136 endif() 0137 0138 if (KF5Baloo_FOUND AND KF5BalooWidgets_FOUND AND KF5FileMetaData_FOUND) 0139 message(STATUS "Baloo packages are found") 0140 set(HAVE_BALOO TRUE) 0141 else() 0142 message(WARNING "Baloo packages not found. They are needed for the metadata features of Dolphin (including the information panel).") 0143 endif() 0144 0145 # TODO: drop HAVE_TERMINAL once we are sure the terminal panel works on Windows too. 0146 if(WIN32) 0147 set(HAVE_TERMINAL FALSE) 0148 else() 0149 set(HAVE_TERMINAL TRUE) 0150 endif() 0151 0152 ecm_set_disabled_deprecation_versions( 0153 QT 5.15 0154 KF 5.90 0155 KSERVICE 5.89 # We use KServiceTypeTrader in a compat code path 0156 ) 0157 0158 add_subdirectory(src) 0159 add_subdirectory(doc) 0160 0161 # CMake files 0162 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/DolphinVcs") 0163 0164 configure_package_config_file( 0165 "${CMAKE_CURRENT_SOURCE_DIR}/DolphinVcsConfig.cmake.in" 0166 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake" 0167 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0168 ) 0169 0170 install(FILES 0171 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfig.cmake" 0172 "${CMAKE_CURRENT_BINARY_DIR}/DolphinVcsConfigVersion.cmake" 0173 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0174 COMPONENT Devel 0175 ) 0176 0177 install(EXPORT DolphinVcsTargets 0178 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0179 FILE DolphinVcsTargets.cmake 0180 ) 0181 0182 install(FILES 0183 "${CMAKE_CURRENT_BINARY_DIR}/dolphinvcs_version.h" 0184 DESTINATION "${KDE_INSTALL_INCLUDEDIR}/Dolphin" 0185 COMPONENT Devel 0186 ) 0187 0188 if(FLATPAK) 0189 ecm_generate_dbus_service_file( 0190 NAME org.freedesktop.FileManager1 0191 EXECUTABLE "${KDE_INSTALL_FULL_BINDIR}/dolphin --daemon" 0192 SYSTEMD_SERVICE plasma-dolphin.service 0193 DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR} 0194 ) 0195 else() 0196 ecm_generate_dbus_service_file( 0197 NAME org.freedesktop.FileManager1 0198 EXECUTABLE "${KDE_INSTALL_FULL_BINDIR}/dolphin --daemon" 0199 SYSTEMD_SERVICE plasma-dolphin.service 0200 DESTINATION ${KDE_INSTALL_DBUSSERVICEDIR} 0201 RENAME org.kde.dolphin.FileManager1.service 0202 ) 0203 endif() 0204 0205 ecm_install_configured_files(INPUT plasma-dolphin.service.in DESTINATION ${KDE_INSTALL_SYSTEMDUSERUNITDIR}) 0206 0207 ecm_qt_install_logging_categories( 0208 EXPORT DOLPHIN 0209 FILE dolphin.categories 0210 DESTINATION ${KDE_INSTALL_LOGGINGCATEGORIESDIR} 0211 ) 0212 0213 ki18n_install(po) 0214 if(KF5DocTools_FOUND) 0215 kdoctools_install(po) 0216 endif() 0217 0218 install(FILES completions/dolphin.zsh RENAME _dolphin DESTINATION ${KDE_INSTALL_ZSHAUTOCOMPLETEDIR}) 0219 0220 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0221 0222 include(KDEClangFormat) 0223 # add clang-format target 0224 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h *.c) 0225 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0226 0227 include(KDEGitCommitHooks) 0228 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)