You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
2.4 KiB
91 lines
2.4 KiB
find_package(KDecoration2 REQUIRED) |
|
find_package(KF5 REQUIRED COMPONENTS CoreAddons ConfigWidgets WindowSystem) |
|
find_package(Qt5 CONFIG REQUIRED COMPONENTS DBus) |
|
|
|
### XCB |
|
find_package(XCB COMPONENTS XCB) |
|
set_package_properties(XCB PROPERTIES |
|
DESCRIPTION "X protocol C-language Binding" |
|
URL "http://xcb.freedesktop.org" |
|
TYPE OPTIONAL |
|
PURPOSE "Required to pass style properties to native Windows on X11 Platform" |
|
) |
|
|
|
if(UNIX AND NOT APPLE) |
|
|
|
set(BREEZE_HAVE_X11 ${XCB_XCB_FOUND}) |
|
if (XCB_XCB_FOUND) |
|
find_package(Qt5 REQUIRED CONFIG COMPONENTS X11Extras) |
|
endif() |
|
|
|
else() |
|
|
|
set(BREEZE_HAVE_X11 FALSE) |
|
|
|
endif() |
|
|
|
################# configuration ################# |
|
configure_file(config-breeze.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-breeze.h ) |
|
|
|
################# newt target ################# |
|
### plugin classes |
|
set(breezedecoration_SRCS |
|
breezecolorsettings.cpp |
|
breezebutton.cpp |
|
breezedecoration.cpp |
|
breezeexceptionlist.cpp |
|
breezesettingsprovider.cpp |
|
breezesizegrip.cpp) |
|
|
|
kconfig_add_kcfg_files(breezedecoration_SRCS breezesettings.kcfgc) |
|
|
|
### config classes |
|
### they are kept separately because they might move in a separate library in the future |
|
set(breezedecoration_config_SRCS |
|
config/breezeconfig.cpp |
|
config/breezeconfigwidget.cpp |
|
config/breezedetectwidget.cpp |
|
config/breezeexceptiondialog.cpp |
|
config/breezeexceptionlistwidget.cpp |
|
config/breezeexceptionmodel.cpp |
|
config/breezeitemmodel.cpp |
|
) |
|
|
|
set(breezedecoration_config_PART_FORMS |
|
config/ui/breezeconfigurationui.ui |
|
config/ui/breezedetectwidget.ui |
|
config/ui/breezeexceptiondialog.ui |
|
config/ui/breezeexceptionlistwidget.ui |
|
) |
|
|
|
ki18n_wrap_ui(breezedecoration_config_PART_FORMS_HEADERS ${breezedecoration_config_PART_FORMS}) |
|
|
|
### build library |
|
add_library(breezedecoration MODULE |
|
${breezedecoration_SRCS} |
|
${breezedecoration_config_SRCS} |
|
${breezedecoration_config_PART_FORMS_HEADERS}) |
|
|
|
target_link_libraries(breezedecoration |
|
PUBLIC |
|
Qt5::Core |
|
Qt5::Gui |
|
Qt5::DBus |
|
PRIVATE |
|
KDecoration2::KDecoration |
|
KF5::ConfigCore |
|
KF5::CoreAddons |
|
KF5::ConfigWidgets |
|
KF5::GuiAddons |
|
KF5::I18n |
|
KF5::WindowSystem) |
|
|
|
if(BREEZE_HAVE_X11) |
|
target_link_libraries(breezedecoration |
|
PUBLIC |
|
Qt5::X11Extras |
|
XCB::XCB) |
|
endif() |
|
|
|
|
|
install(TARGETS breezedecoration DESTINATION ${PLUGIN_INSTALL_DIR}/org.kde.kdecoration2)
|
|
|