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