Warning, /plasma/oxygen/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 cmake_minimum_required(VERSION 3.25) 0002 project(oxygen) 0003 set(PROJECT_VERSION "6.0.80") 0004 set(PROJECT_VERSION_MAJOR 6) 0005 0006 include(GenerateExportHeader) 0007 include(WriteBasicConfigVersionFile) 0008 include(FeatureSummary) 0009 0010 ################# Qt/KDE ################# 0011 set(PROJECT_DEP_VERSION "6.0.80") 0012 set(QT5_MIN_VERSION "5.15.2") 0013 set(KF5_MIN_VERSION "5.102.0") 0014 set(QT_MIN_VERSION "6.6.0") 0015 set(KF6_MIN_VERSION "5.240.0") 0016 0017 set(KDE_COMPILERSETTINGS_LEVEL "5.82") 0018 0019 set(CMAKE_CXX_STANDARD 20) 0020 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0021 0022 find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) 0023 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ) 0024 0025 set(QT_NO_CREATE_VERSIONLESS_TARGETS ON) 0026 set(QT_NO_CREATE_VERSIONLESS_FUNCTIONS ON) 0027 0028 option(BUILD_QT5 "Build Qt5 style" ON) 0029 option(BUILD_QT6 "Build with Qt6" ON) 0030 0031 # For KDE CI only. As the current infrastructure doesn't allow us to set CMAKE options per build variant 0032 if($ENV{CI_JOB_NAME_SLUG} MATCHES "qt5") 0033 set(BUILD_QT5 ON) 0034 set(BUILD_QT6 OFF) 0035 elseif($ENV{CI_JOB_NAME_SLUG} MATCHES "qt6") 0036 set(BUILD_QT5 OFF) 0037 set(BUILD_QT6 ON) 0038 endif() 0039 0040 include(ECMInstallIcons) 0041 include(KDECompilerSettings NO_POLICY_SCOPE) 0042 include(KDEClangFormat) 0043 include(KDEGitCommitHooks) 0044 0045 find_package(XCB COMPONENTS XCB) 0046 set_package_properties(XCB PROPERTIES 0047 DESCRIPTION "X protocol C-language Binding" 0048 URL "http://xcb.freedesktop.org" 0049 TYPE OPTIONAL 0050 PURPOSE "Required to pass style properties to native Windows on X11 Platform" 0051 ) 0052 0053 if(NOT APPLE) 0054 set(OXYGEN_HAVE_X11 ${XCB_XCB_FOUND}) 0055 endif() 0056 0057 if(BUILD_QT5) 0058 block(SCOPE_FOR VARIABLES) 0059 set(QT_MAJOR_VERSION 5) 0060 unset(QUERY_EXECUTABLE CACHE) 0061 0062 include(KDEInstallDirs5) 0063 include (KDECMakeSettings) 0064 0065 find_package(Qt5 ${QT5_MIN_VERSION} REQUIRED CONFIG COMPONENTS Widgets DBus Quick) 0066 find_package(KF5 ${KF_MIN_VERSION} REQUIRED COMPONENTS 0067 I18n 0068 Config 0069 CoreAddons 0070 GuiAddons 0071 WidgetsAddons 0072 Service 0073 Completion 0074 FrameworkIntegration 0075 WindowSystem) 0076 0077 if (XCB_XCB_FOUND) 0078 find_package(Qt5 REQUIRED CONFIG COMPONENTS X11Extras) 0079 endif() 0080 0081 0082 add_subdirectory(liboxygen liboxygen5) 0083 add_subdirectory(kstyle kstyle5) 0084 endblock() 0085 endif() 0086 0087 if(BUILD_QT6) 0088 block(SCOPE_FOR VARIABLES) 0089 set(QT_MAJOR_VERSION 6) 0090 unset(QUERY_EXECUTABLE CACHE) 0091 0092 include(KDEInstallDirs6) 0093 include (KDECMakeSettings) 0094 find_package(Qt6 ${QT_MIN_VERSION} REQUIRED CONFIG COMPONENTS Widgets DBus Quick) 0095 find_package(KF6 ${KF6_MIN_VERSION} REQUIRED COMPONENTS 0096 I18n 0097 Config 0098 CoreAddons 0099 GuiAddons 0100 KCMUtils 0101 WidgetsAddons 0102 Service 0103 Completion 0104 FrameworkIntegration 0105 WindowSystem) 0106 find_package(Plasma ${PROJECT_DEP_VERSION} REQUIRED) 0107 0108 # https://bugreports.qt.io/browse/QTBUG-114706 0109 add_library(Qt::Core ALIAS Qt6::Core) 0110 add_library(Qt::Gui ALIAS Qt6::Gui) 0111 add_library(Qt::OpenGL ALIAS Qt6::OpenGL) 0112 add_library(Qt::Network ALIAS Qt6::Network) 0113 if(Qt6_VERSION_MINOR GREATER 6) 0114 add_library(Qt::PlatformModuleInternal ALIAS Qt6::PlatformModuleInternal) 0115 endif() 0116 0117 add_subdirectory(liboxygen liboxygen6) 0118 add_subdirectory(kstyle kstyle6) 0119 0120 add_subdirectory(color-schemes) 0121 add_subdirectory(cursors) 0122 add_subdirectory(kdecoration) 0123 0124 plasma_install_package(lookandfeel org.kde.oxygen look-and-feel lookandfeel) 0125 0126 ki18n_install(po) 0127 endblock() 0128 endif() 0129 0130 file(GLOB_RECURSE ALL_CLANG_FORMAT_SOURCE_FILES *.cpp *.h) 0131 kde_clang_format(${ALL_CLANG_FORMAT_SOURCE_FILES}) 0132 0133 kde_configure_git_pre_commit_hook(CHECKS CLANG_FORMAT) 0134 0135 feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)