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.115.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.116.0") # handled by release scripts
0031 set(KF_DEP_VERSION "5.115.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)