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 "5.27.10")
0005 
0006 set(QT_MIN_VERSION "5.15.2")
0007 set(KF5_MIN_VERSION "5.102.0")
0008 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
0009 
0010 find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
0011 # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is checked
0012 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} )
0013 
0014 include(KDEInstallDirs)
0015 include(KDECompilerSettings NO_POLICY_SCOPE)
0016 include(KDECMakeSettings)
0017 include(ECMSetupVersion)
0018 include(ECMGenerateHeaders)
0019 include(ECMGenerateExportHeader)
0020 include(FeatureSummary)
0021 include(GenerateExportHeader)
0022 include(CMakePackageConfigHelpers)
0023 include(KDEClangFormat)
0024 include(KDEGitCommitHooks)
0025 
0026 ecm_setup_version(${PROJECT_VERSION} VARIABLE_PREFIX KDECORATION2
0027                         VERSION_HEADER "${CMAKE_CURRENT_BINARY_DIR}/kdecoration2_version.h"
0028                         PACKAGE_VERSION_FILE "${CMAKE_CURRENT_BINARY_DIR}/KDecoration2ConfigVersion.cmake"
0029                         SOVERSION 5)
0030 
0031 #dependencies
0032 find_package(Qt${QT_MAJOR_VERSION} ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
0033     Core
0034     Gui
0035     Test
0036 )
0037 
0038 # require at least gcc 4.8
0039 if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
0040     if ("${CMAKE_CXX_COMPILER_VERSION}" VERSION_LESS "4.8")
0041         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.")
0042     endif()
0043 endif()
0044 
0045 set(EXCLUDE_DEPRECATED_BEFORE_AND_AT 0 CACHE STRING "Control the range of deprecated API excluded from the build [default=0].")
0046 
0047 set(KDECORATION2_INCLUDEDIR "${KDE_INSTALL_INCLUDEDIR}/KDecoration2")
0048 find_package(KF5I18n ${KF5_MIN_VERSION} CONFIG REQUIRED)
0049 find_package(KF5CoreAddons ${KF5_MIN_VERSION} CONFIG REQUIRED)
0050 
0051 add_definitions(-DQT_DISABLE_DEPRECATED_BEFORE=0x050d00)
0052 add_definitions(-DKF_DISABLE_DEPRECATED_BEFORE_AND_AT=0x054200)
0053 add_definitions(-DQT_NO_KEYWORDS)
0054 
0055 # Subdirectories
0056 add_subdirectory(src)
0057 if(BUILD_TESTING)
0058    add_subdirectory(autotests)
0059 endif()
0060 
0061 # add clang-format target for all our real source files
0062 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h)
0063 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES})
0064 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT)
0065 
0066 # create a Config.cmake and a ConfigVersion.cmake file and install them
0067 set(CMAKECONFIG_INSTALL_DIR "${KDE_INSTALL_CMAKEPACKAGEDIR}/KDecoration2")
0068 
0069 configure_package_config_file("${CMAKE_CURRENT_SOURCE_DIR}/KDecoration2Config.cmake.in"
0070                                   "${CMAKE_CURRENT_BINARY_DIR}/KDecoration2Config.cmake"
0071                                   INSTALL_DESTINATION  ${CMAKECONFIG_INSTALL_DIR}
0072                                   )
0073 
0074 install(FILES  "${CMAKE_CURRENT_BINARY_DIR}/KDecoration2Config.cmake"
0075                "${CMAKE_CURRENT_BINARY_DIR}/KDecoration2ConfigVersion.cmake"
0076         DESTINATION "${CMAKECONFIG_INSTALL_DIR}"
0077         COMPONENT Devel )
0078 
0079 install(EXPORT KDecoration2Targets DESTINATION "${CMAKECONFIG_INSTALL_DIR}" FILE KDecoration2Targets.cmake NAMESPACE KDecoration2:: )
0080 
0081 
0082 install(FILES ${CMAKE_CURRENT_BINARY_DIR}/kdecoration2_version.h
0083         DESTINATION ${KDE_INSTALL_INCLUDEDIR_KF} COMPONENT Devel )
0084 
0085 feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
0086 
0087 ki18n_install(po)