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)