Files
xembed-fluff/CMakeLists.txt

64 lines
2.2 KiB
CMake
Raw Normal View History

2025-12-18 16:41:37 +08:00
cmake_minimum_required(VERSION 3.16)
2025-12-18 16:52:13 +08:00
project(xembed-traymanager-proxy)
2025-12-18 16:41:37 +08:00
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_CXX_STANDARD 20)
2025-12-18 16:52:13 +08:00
set(CMAKE_INCLUDE_CURRENT_DIR ON) # ensure adapter class can include related header
2025-12-18 16:41:37 +08:00
find_package(Qt6 6.8 CONFIG REQUIRED COMPONENTS DBus)
find_package(ECM REQUIRED NO_MODULE)
2025-12-24 15:47:15 +08:00
find_package(PkgConfig REQUIRED)
2025-12-18 16:41:37 +08:00
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
include(ECMQtDeclareLoggingCategory)
include(KDEInstallDirs)
include(ECMConfiguredInstall)
find_package(KF6 6.6 REQUIRED COMPONENTS
WindowSystem)
2025-12-24 15:47:15 +08:00
pkg_check_modules(X11 REQUIRED IMPORTED_TARGET x11 xcb xcb-image xcb-damage xcb-composite xcb-xfixes xcb-util xcb-shape xtst xcb-xtest xcb-res xcb-ewmh)
2025-12-18 16:41:37 +08:00
set(XEMBED_SNI_PROXY_SOURCES
main.cpp
fdoselectionmanager.cpp fdoselectionmanager.h
2025-12-18 16:52:13 +08:00
traymanager1.cpp traymanager1.h
2025-12-24 15:47:15 +08:00
util.cpp util.h
xcbthread.cpp xcbthread.h
2025-12-18 16:41:37 +08:00
)
2025-12-18 16:52:13 +08:00
set_source_files_properties(
${CMAKE_CURRENT_SOURCE_DIR}/org.deepin.dde.TrayManager1.xml
PROPERTIES INCLUDE traylist.h
CLASSNAME TrayManager
)
2025-12-18 16:41:37 +08:00
2025-12-18 16:52:13 +08:00
qt_add_dbus_adaptor(XEMBED_SNI_PROXY_SOURCES org.deepin.dde.TrayManager1.xml traymanager1.h TrayManager1)
2025-12-18 16:41:37 +08:00
ecm_qt_declare_logging_category(XEMBED_SNI_PROXY_SOURCES HEADER debug.h
IDENTIFIER SNIPROXY
2025-12-18 16:52:13 +08:00
CATEGORY_NAME dde.xembedsniproxy
2025-12-18 16:41:37 +08:00
DEFAULT_SEVERITY Info
DESCRIPTION "xembed sni proxy"
EXPORT PLASMAWORKSPACE
)
2025-12-18 16:52:13 +08:00
add_executable(xembed-traymanager-proxy ${XEMBED_SNI_PROXY_SOURCES})
set_property(TARGET xembed-traymanager-proxy PROPERTY AUTOMOC ON)
2025-12-18 16:41:37 +08:00
set_package_properties(XCB PROPERTIES TYPE REQUIRED)
2025-12-18 16:52:13 +08:00
target_link_libraries(xembed-traymanager-proxy
2025-12-18 16:41:37 +08:00
Qt::Core
Qt::DBus
KF6::WindowSystem
2025-12-24 15:47:15 +08:00
PkgConfig::X11
2025-12-18 16:41:37 +08:00
)
2025-12-18 16:52:13 +08:00
install(TARGETS xembed-traymanager-proxy ${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
2025-12-18 16:41:37 +08:00
install(FILES xembedsniproxy.desktop DESTINATION ${KDE_INSTALL_AUTOSTARTDIR})
ecm_install_configured_files(INPUT plasma-xembedsniproxy.service.in @ONLY DESTINATION ${KDE_INSTALL_SYSTEMDUSERUNITDIR})