Warning, /plasma/kdecoration/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.16) 0002 0003 project(decoration-api) 0004 set(PROJECT_VERSION "6.0.80") 0005 set(PROJECT_VERSION_MAJOR 6) 0006 0007 set(QT_MIN_VERSION "6.6.0") 0008 set(KF6_MIN_VERSION "5.240.0") 0009 set(KDE_COMPILERSETTINGS_LEVEL "5.82") 0010 0011 set(CMAKE_CXX_STANDARD 20) 0012 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0013 0014 find_package(ECM ${KF6_MIN_VERSION} REQUIRED NO_MODULE) 0015 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked 0016 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} ) 0017 0018 include(KDEInstallDirs) 0019 include(KDECompilerSettings NO_POLICY_SCOPE) 0020 include(KDECMakeSettings) 0021 include(ECMSetupVersion) 0022 include(ECMGenerateHeaders) 0023 include(ECMGenerateExportHeader) 0024 include(FeatureSummary) 0025 include(GenerateExportHeader) 0026 include(CMakePackageConfigHelpers) 0027 include(KDEClangFormat) 0028 include(KDEGitCommitHooks) 0029 include(ECMDeprecationSettings) 0030 0031 ecm_setup_version(${PROJECT_VERSION} VARIABLE_PREFIX KDECORATION2 0032 VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kdecoration2_version.h" 0033 PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KDecoration2ConfigVersion.cmake" 0034 SOVERSION ${PROJECT_VERSION_MAJOR}) 0035 0036 #dependencies 0037 find_package(Qt6 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS 0038 Core 0039 Gui 0040 Test 0041 ) 0042 0043 # require at least gcc 4.8 0044 if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU") 0045 if ("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "4.8") 0046 message(SEND_ERROR "Version ${CMAKE_CXX_COMPILER_VERSION} of the ${CMAKE_CXX_COMPILER_ID} C++ compiler is not supported. Please use version 4.8 or later.") 0047 endif() 0048 endif() 0049 0050 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].") 0051 0052 set(KDECORATION2_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR}/KDecoration2") 0053 find_package(KF6I18n ${KF6_MIN_VERSION} CONFIG REQUIRED) 0054 0055 ecm_set_disabled_deprecation_versions(QT 5.15.2 0056 KF 5.240.0 0057 ) 0058 0059 add_definitions(-DQT_NO_KEYWORDS) 0060 0061 # Subdirectories 0062 add_subdirectory(src) 0063 if(BUILD_TESTING) 0064 add_subdirectory(autotests) 0065 endif() 0066 0067 # add clang-format target for all our real source files 0068 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0069 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0070 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0071 0072 # create a Config.cmake and a ConfigVersion.cmake file and install them 0073 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KDecoration2") 0074 0075 configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KDecoration2Config.cmake.in" 0076 "${CMAKE_CURRENT_BINARY_DIR}/KDecoration2Config.cmake" 0077 INSTALL_DESTINATION ${CMAKECONFIG_INSTALL_DIR} 0078 ) 0079 0080 install(FILES "${CMAKE_CURRENT_BINARY_DIR}/KDecoration2Config.cmake" 0081 "${CMAKE_CURRENT_BINARY_DIR}/KDecoration2ConfigVersion.cmake" 0082 DESTINATION "${CMAKECONFIG_INSTALL_DIR}" 0083 COMPONENT Devel ) 0084 0085 install(EXPORT KDecoration2Targets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KDecoration2Targets.cmake NAMESPACE KDecoration2:: ) 0086 0087 0088 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kdecoration2_version.h 0089 DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF} COMPONENT Devel ) 0090 0091 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) 0092 0093 ki18n_install(po)