Warning, /plasma/latte-dock/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 project(lattedock) 0002 cmake_minimum_required(VERSION 3.16 FATAL_ERROR) 0003 0004 set(CMAKE_CXX_STANDARD 17) 0005 set(CMAKE_CXX_STANDARD_REQUIRED ON) 0006 set(VERSION 0.10.77) 0007 set(AUTHOR "Michail Vourlakos, Smith Ar") 0008 set(EMAIL "mvourlakos@gmail.com, audoban@openmailbox.org") 0009 set(WEBSITE "https://userbase.kde.org/LatteDock") 0010 set(BUG_ADDRESS "https://bugs.kde.org/enter_bug.cgi?product=lattedock") 0011 set(FAQS "https://userbase.kde.org/LatteDock/FAQ") 0012 0013 set(QT_MIN_VERSION "5.15.0") 0014 set(KF5_MIN_VERSION "5.88.0") 0015 set(KDE_COMPILERSETTINGS_LEVEL "5.84.0") 0016 0017 set(KF5_LOCALE_PREFIX "") 0018 0019 find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE) 0020 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH}) 0021 0022 include(KDEInstallDirs) 0023 include(CheckIncludeFiles) 0024 include(CMakePackageConfigHelpers) 0025 include(ECMOptionalAddSubdirectory) 0026 include(ECMQtDeclareLoggingCategory) 0027 include(KDECMakeSettings) 0028 include(KDECompilerSettings NO_POLICY_SCOPE) 0029 include(KDEPackageAppTemplates) 0030 include(WriteBasicConfigVersionFile) 0031 0032 0033 find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED NO_MODULE COMPONENTS DBus Gui Qml Quick) 0034 0035 find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS 0036 Activities Archive CoreAddons GuiAddons Crash DBusAddons Declarative GlobalAccel Kirigami2 0037 I18n IconThemes KIO NewStuff Notifications Plasma PlasmaQuick Wayland WindowSystem XmlGui) 0038 0039 find_package(LibTaskManager REQUIRED) 0040 add_definitions(-DPLASMA_WORKSPACE_VERSION="${LibTaskManager_VERSION}") 0041 0042 find_package(X11 REQUIRED) 0043 set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries" 0044 URL "http://www.x.org" 0045 TYPE OPTIONAL 0046 PURPOSE "Required for building the X11 based workspace") 0047 0048 if(X11_FOUND) 0049 find_package(XCB MODULE REQUIRED COMPONENTS XCB RANDR SHAPE EVENT) 0050 set_package_properties(XCB PROPERTIES TYPE REQUIRED) 0051 find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS X11Extras) 0052 0053 if(NOT X11_SM_FOUND) 0054 message(FATAL_ERROR "\nThe X11 Session Management (SM) development package could not be found. 0055 \nPlease install libSM.\n") 0056 endif(NOT X11_SM_FOUND) 0057 0058 endif() 0059 0060 if(X11_FOUND AND XCB_XCB_FOUND) 0061 set(HAVE_X11 ON) 0062 endif() 0063 0064 0065 find_package(QtWaylandScanner REQUIRED) 0066 find_package(Qt${QT_MAJOR_VERSION}WaylandClient) 0067 find_package(PlasmaWaylandProtocols 1.6 REQUIRED) 0068 find_package(Wayland REQUIRED COMPONENTS Client) 0069 0070 string(REGEX MATCH "\\.([^]]+)\\." KF5_VERSION_MINOR ${KF5_VERSION}) 0071 string(REGEX REPLACE "\\." "" KF5_VERSION_MINOR ${KF5_VERSION_MINOR}) 0072 0073 message(STATUS "KF5 VERSION : ${KF5_VERSION}") 0074 message(STATUS "KF5 VERSION MINOR : ${KF5_VERSION_MINOR}") 0075 0076 0077 include(ECMFindQmlModule) 0078 ecm_find_qmlmodule(QtQuick 2.7) 0079 ecm_find_qmlmodule(QtQuick.Layouts 1.3) 0080 ecm_find_qmlmodule(QtQuick.Controls 1.4) 0081 ecm_find_qmlmodule(QtQuick.Controls.Styles.Plasma 2.0) 0082 ecm_find_qmlmodule(QtGraphicalEffects 1.0) 0083 ecm_find_qmlmodule(org.kde.kquickcontrolsaddons 2.0) 0084 ecm_find_qmlmodule(org.kde.plasma.core 2.0) 0085 ecm_find_qmlmodule(org.kde.plasma.components 2.0) 0086 0087 configure_file(${CMAKE_CURRENT_SOURCE_DIR}/app/config-latte.h.cmake 0088 ${CMAKE_CURRENT_BINARY_DIR}/app/config-latte.h) 0089 0090 #hide warnings 0091 string(REPLACE "-Wall" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) 0092 string(REPLACE "-Wdeprecated-declarations" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) 0093 string(REPLACE "-Wreorder" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) 0094 string(REPLACE "-Wunused-variable" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) 0095 string(REPLACE "-Wunused-parameter" "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) 0096 0097 #add format security check 0098 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wformat -Werror=format-security") 0099 0100 message(STATUS "COMPILER FLAGS : ${CMAKE_CXX_FLAGS}") 0101 0102 # Share Same Core Types between declarativeimports and app 0103 set(CORETYPESHEADER "LIBCORETYPES_H") 0104 configure_file(declarativeimports/coretypes.h.in declarativeimports/core/types.h) 0105 set(CORETYPESHEADER "APPCORETYPES_H") 0106 configure_file(declarativeimports/coretypes.h.in app/coretypes.h) 0107 set(CORETYPESHEADER "LATTEGENERALCONTAINMENTTYPES_H") 0108 configure_file(declarativeimports/coretypes.h.in containment/plugin/lattetypes.h) 0109 0110 # Share App::Settings::GenericTools to containment actions 0111 configure_file(app/settings/generic/generictools.h containmentactions/contextmenu/generictools.h) 0112 configure_file(app/settings/generic/generictools.cpp containmentactions/contextmenu/generictools.cpp) 0113 configure_file(app/data/contextmenudata.h containmentactions/contextmenu/contextmenudata.h) 0114 0115 # subdirectories 0116 add_subdirectory(declarativeimports) 0117 add_subdirectory(indicators) 0118 add_subdirectory(app) 0119 add_subdirectory(containmentactions) 0120 add_subdirectory(containment) 0121 add_subdirectory(icons) 0122 add_subdirectory(plasmoid) 0123 add_subdirectory(shell) 0124 0125 ki18n_install(po)