Warning, /frameworks/purpose/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 project(Purpose) 0004 0005 find_package(ECM 5.249.0 REQUIRED NO_MODULE) 0006 0007 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0008 0009 set(REQUIRED_QT_VERSION 6.5.0) 0010 include(KDEInstallDirs) 0011 include(KDEFrameworkCompilerSettings NO_POLICY_SCOPE) 0012 include(KDECMakeSettings) 0013 include(KDEGitCommitHooks) 0014 0015 include(FeatureSummary) 0016 0017 include(ECMGenerateExportHeader) 0018 include(ECMSetupVersion) 0019 include(ECMAddTests) 0020 include(ECMInstallIcons) 0021 include(ECMGenerateHeaders) 0022 include(ECMMarkNonGuiExecutable) 0023 include(ECMQtDeclareLoggingCategory) 0024 include(ECMDeprecationSettings) 0025 include(ECMGenerateQmlTypes) 0026 include(ECMQMLModules) 0027 include(ECMQmlModule) 0028 find_package(Qt6 ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Qml Gui DBus Widgets Network Test) 0029 0030 set(KF_VERSION "6.0.0") # handled by release scripts 0031 set(KF_DEP_VERSION "5.249.0") # handled by release scripts 0032 0033 find_package(KF6 ${KF_DEP_VERSION} REQUIRED COMPONENTS CoreAddons I18n Config Kirigami Notifications KIO Service) 0034 0035 find_package(KAccounts6) 0036 0037 set_package_properties(KAccounts6 PROPERTIES 0038 PURPOSE "Needed for YouTube and Nextcloud upload" 0039 TYPE OPTIONAL 0040 ) 0041 ecm_find_qmlmodule(SSO.OnlineAccounts 0.1) 0042 0043 ecm_find_qmlmodule(org.kde.kquickcontrolsaddons 2.0) 0044 ecm_find_qmlmodule(org.kde.prison 1.0) 0045 0046 ecm_setup_version(${KF_VERSION} VARIABLE_PREFIX PURPOSE 0047 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/purpose_version.h" 0048 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF6PurposeConfigVersion.cmake" 0049 SOVERSION 6) 0050 0051 ecm_set_disabled_deprecation_versions( 0052 QT 6.5.0 0053 KF 5.240 0054 ) 0055 0056 add_subdirectory( src ) 0057 if (BUILD_TESTING) 0058 add_subdirectory( autotests ) 0059 add_subdirectory( tests ) 0060 endif() 0061 0062 ki18n_install(po) 0063 0064 # create a Config.cmake and a ConfigVersion.cmake file and install them 0065 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF6Purpose") 0066 0067 include(CMakePackageConfigHelpers) 0068 0069 configure_package_config_file( 0070 "${CMAKE_CURRENT_SOURCE_DIR}/KF6PurposeConfig.cmake.in" 0071 "${CMAKE_CURRENT_BINARY_DIR}/KF6PurposeConfig.cmake" 0072 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0073 ) 0074 0075 install(FILES 0076 "${CMAKE_CURRENT_BINARY_DIR}/KF6PurposeConfig.cmake" 0077 "${CMAKE_CURRENT_BINARY_DIR}/KF6PurposeConfigVersion.cmake" 0078 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0079 COMPONENT Devel 0080 ) 0081 0082 install(EXPORT KF6PurposeTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF6PurposeTargets.cmake NAMESPACE KF6:: ) 0083 0084 install(FILES 0085 ${CMAKE_CURRENT_BINARY_DIR}/purpose_version.h 0086 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/Purpose COMPONENT Devel 0087 ) 0088 0089 include(ECMFeatureSummary) 0090 ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0091 0092 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)