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.104.0 REQUIRED NO_MODULE) 0006 0007 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0008 0009 set(REQUIRED_QT_VERSION 5.15.2) 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(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED Core Qml Gui DBus Widgets Network Test) 0029 0030 set(KF_VERSION "5.105.0") # handled by release scripts 0031 set(KF_DEP_VERSION "5.104.0") # handled by release scripts 0032 0033 find_package(KF5 ${KF_DEP_VERSION} REQUIRED COMPONENTS CoreAddons I18n Config Kirigami2 Notifications KIO) 0034 0035 find_package(KAccounts) 0036 0037 set_package_properties(KAccounts PROPERTIES 0038 PURPOSE "Needed for YouTube and Nextcloud upload" 0039 TYPE OPTIONAL 0040 ) 0041 0042 ecm_find_qmlmodule(Ubuntu.OnlineAccounts 0.1) 0043 ecm_find_qmlmodule(org.kde.kquickcontrolsaddons 2.0) 0044 ecm_find_qmlmodule(org.kde.prison 1.0) 0045 0046 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") 0047 0048 ecm_setup_version(${KF_VERSION} VARIABLE_PREFIX PURPOSE 0049 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/purpose_version.h" 0050 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KF5PurposeConfigVersion.cmake" 0051 SOVERSION 5) 0052 0053 ecm_set_disabled_deprecation_versions( 0054 # QT 5.15.2 Wait until libaccounts-qt has a release that doesn't use QString::null https://gitlab.com/accounts-sso/libaccounts-qt/issues/4 0055 KF 5.95 0056 KCOREADDONS 5.85 # K_EXPORT_PLUGIN_VERSION 0057 ) 0058 0059 add_subdirectory( src ) 0060 if (BUILD_TESTING) 0061 add_subdirectory( autotests ) 0062 add_subdirectory( tests ) 0063 endif() 0064 0065 ki18n_install(po) 0066 0067 # create a Config.cmake and a ConfigVersion.cmake file and install them 0068 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KF5Purpose") 0069 0070 include(CMakePackageConfigHelpers) 0071 0072 configure_package_config_file( 0073 "${CMAKE_CURRENT_SOURCE_DIR}/KF5PurposeConfig.cmake.in" 0074 "${CMAKE_CURRENT_BINARY_DIR}/KF5PurposeConfig.cmake" 0075 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0076 ) 0077 0078 install(FILES 0079 "${CMAKE_CURRENT_BINARY_DIR}/KF5PurposeConfig.cmake" 0080 "${CMAKE_CURRENT_BINARY_DIR}/KF5PurposeConfigVersion.cmake" 0081 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0082 COMPONENT Devel 0083 ) 0084 0085 install(EXPORT KF5PurposeTargets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KF5PurposeTargets.cmake NAMESPACE KF5:: ) 0086 0087 install(FILES 0088 ${CMAKE_CURRENT_BINARY_DIR}/purpose_version.h 0089 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF}/purpose COMPONENT Devel 0090 ) 0091 0092 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0093 0094 #TODO: Remove somewhen in the future 0095 install(FILES 0096 "${CMAKE_CURRENT_SOURCE_DIR}/KDEExperimentalPurposeConfig.cmake" 0097 DESTINATION "${KDE_INSTALL_CMAKEPACKAGEDIR}/KDEExperimentalPurpose" 0098 COMPONENT Devel 0099 ) 0100 0101 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)