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)