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)