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)