Warning, /plasma/plasma5support/CMakeLists.txt is written in an unsupported language. File is not indexed.

0001 cmake_minimum_required(VERSION 3.16)
0002 set(PROJECT_VERSION "6.0.80")
0003 project(Plasma5Support VERSION ${PROJECT_VERSION})
0004 
0005 set(PROJECT_DEP_VERSION "6.0.80")
0006 set(QT_MIN_VERSION "6.6.0")
0007 set(KF6_MIN_VERSION "5.240.0")
0008 
0009 set(CMAKE_CXX_STANDARD 20)
0010 set(CMAKE_CXX_STANDARD_REQUIRED ON)
0011 
0012 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE)
0013 
0014 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
0015 
0016 include(FeatureSummary)
0017 include(KDEInstallDirs)
0018 include(KDECMakeSettings)
0019 include(KDEGitCommitHooks)
0020 include(KDECompilerSettings NO_POLICY_SCOPE)
0021 
0022 include(ECMGenerateExportHeader)
0023 include(ECMGenerateHeaders)
0024 include(CMakePackageConfigHelpers)
0025 include(ECMSetupVersion)
0026 include(ECMQtDeclareLoggingCategory)
0027 include(ECMAddQch)
0028 include(KDEPackageAppTemplates)
0029 include(ECMGenerateQmlTypes)
0030 include(ECMSetupQtPluginMacroNames)
0031 include(ECMMarkNonGuiExecutable)
0032 include(ECMDeprecationSettings)
0033 include(ECMQmlModule)
0034 
0035 option(BUILD_QCH "Build API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)" OFF)
0036 add_feature_info(QCH ${BUILD_QCH} "API documentation in QCH format (for e.g. Qt Assistant, Qt Creator & KDevelop)")
0037 
0038 ecm_setup_version(PROJECT
0039                   VARIABLE_PREFIX PLASMA5SUPPORT
0040                   VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/plasma5support_version.h"
0041                   PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/Plasma5SupportConfigVersion.cmake"
0042                   SOVERSION 6)
0043 
0044 add_definitions(-DQT_NO_FOREACH)
0045 ################# now find all used packages #################
0046 
0047 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED NO_MODULE COMPONENTS Core Gui Quick Sql Qml Widgets)
0048 
0049 find_package(KF6 ${KF_DEP_VERSION} REQUIRED
0050     COMPONENTS
0051         Config
0052         CoreAddons
0053         GuiAddons
0054         I18n
0055         Notifications
0056         KIO
0057         Service
0058         Solid
0059 )
0060 find_package(KSysGuard CONFIG REQUIRED) # devicenotifications
0061 find_package(Plasma ${PROJECT_DEP_VERSION} REQUIRED)
0062 
0063 #########################################################################
0064 
0065 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050e00) # must port away from qmlRegisterInterface before upgrading this to 050f00
0066 add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x055100)
0067 
0068 #########################################################################
0069 
0070 include(Plasma5SupportMacros.cmake)
0071 
0072 option(BUILD_COVERAGE "Build Plasma5Support Frameworks with gcov support" OFF)
0073 
0074 if(BUILD_COVERAGE)
0075     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage")
0076     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lgcov")
0077 endif()
0078 
0079 # make plasma5support_version.h available
0080 include_directories(${CMAKE_CURRENT_BINARY_DIR})
0081 
0082 ################# list the subdirectories #################
0083 
0084 add_definitions(-DTRANSLATION_DOMAIN=\"libplasma5support\")
0085 if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
0086     ki18n_install(po)
0087 endif()
0088 add_subdirectory(src)
0089 
0090 if (BUILD_TESTING)
0091     find_package(Qt6Test ${REQUIRED_QT_VERSION} REQUIRED)
0092     add_subdirectory(autotests)
0093 endif()
0094 
0095 ################ create Plasma5SupportConfig.cmake and install it ###########################
0096 
0097 # create a Config.cmake and a ConfigVersion.cmake file and install them
0098 
0099 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/Plasma5Support")
0100 
0101 if (BUILD_QCH)
0102     ecm_install_qch_export(
0103         TARGETS Plasma5Support_QCH
0104         FILE Plasma5SupportQchTargets.cmake
0105         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0106         COMPONENT Devel
0107     )
0108     set(PACKAGE_INCLUDE_QCHTARGETS "include(\"\${CMAKE_CURRENT_LIST_DIR}/Plasma5SupportQchTargets.cmake\")")
0109 endif()
0110 
0111 configure_package_config_file(
0112   "${CMAKE_CURRENT_SOURCE_DIR}/Plasma5SupportConfig.cmake.in"
0113   "${CMAKE_CURRENT_BINARY_DIR}/Plasma5SupportConfig.cmake"
0114   INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0115   PATH_VARS  CMAKE_INSTALL_PREFIX
0116 )
0117 
0118 install(FILES
0119   "${CMAKE_CURRENT_BINARY_DIR}/Plasma5SupportConfig.cmake"
0120   "${CMAKE_CURRENT_BINARY_DIR}/Plasma5SupportConfigVersion.cmake"
0121   "${CMAKE_CURRENT_SOURCE_DIR}/Plasma5SupportMacros.cmake"
0122   DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0123   COMPONENT Devel
0124 )
0125 
0126 install(EXPORT Plasma5SupportTargets
0127         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0128         FILE Plasma5SupportTargets.cmake
0129         NAMESPACE Plasma::
0130         COMPONENT Devel)
0131 
0132 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/plasma5support_version.h
0133         DESTINATION ${KDE_INSTALL_INCLUDEDIR}/Plasma5Support COMPONENT Devel )
0134 
0135 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0136 
0137 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)