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)