kwin/kcmkwin/kwincompositing/CMakeLists.txt
Vlad Zagorodniy c3fd6413b9 [kcmkwin] Move effects model into a shared library
Summary:
The main motivation for moving it into a shared library is to share the
model between Desktop Effects and Virtual Desktops KCM.

The extracted model is quite the same as the one in Desktop Effects KCM,
except some minor changes, e.g. rename loadEffect and syncConfig to more
convenient names, add comments, some whitespace changes, fix coding
style in some parts, etc.

Test Plan: effectModelTest passes, Desktop Effects KCM works.

Reviewers: #kwin, davidedmundson

Reviewed By: #kwin, davidedmundson

Subscribers: hein, kwin

Tags: #kwin

Differential Revision: https://phabricator.kde.org/D17765
2019-01-08 15:49:20 +02:00

85 lines
2.5 KiB
CMake

#########################################################################
# KI18N Translation Domain for this library
add_definitions(-DTRANSLATION_DOMAIN=\"kcmkwincompositing\")
add_definitions(-DQT_NO_URL_CAST_FROM_STRING)
remove_definitions(-DQT_NO_CAST_FROM_ASCII -DQT_STRICT_ITERATORS -DQT_NO_CAST_FROM_BYTEARRAY)
include_directories(${KWIN_SOURCE_DIR}/effects)
################# configure checks and create the configured files #################
# now create config headers
configure_file(config-prefix.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-prefix.h )
configure_file(config-compiler.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-compiler.h )
set(kwincomposing_SRC
model.cpp
main.cpp
compositing.cpp
effectconfig.cpp)
qt5_add_dbus_interface( kwincomposing_SRC
${KWIN_SOURCE_DIR}/org.kde.kwin.Compositing.xml kwin_compositing_interface)
qt5_add_dbus_interface( kwincomposing_SRC
${KWIN_SOURCE_DIR}/org.kde.kwin.Effects.xml kwin_effects_interface)
ki18n_wrap_ui(kwincomposing_SRC compositing.ui)
add_library(kwincompositing MODULE ${kwincomposing_SRC})
target_link_libraries(kwincompositing
Qt5::Quick
Qt5::QuickWidgets
Qt5::DBus
Qt5::Widgets
KF5::CoreAddons
KF5::ConfigCore
KF5::Declarative
KF5::I18n
KF5::KCMUtils
KF5::NewStuff
kcmkwincommon
)
if (BUILD_TESTING)
include(ECMMarkAsTest)
set(modelTest_SRC
model.cpp
effectconfig.cpp
compositing.cpp
test/effectmodeltest.cpp
test/modeltest.cpp)
qt5_add_dbus_interface(modelTest_SRC
${KWIN_SOURCE_DIR}/org.kde.kwin.Compositing.xml kwin_compositing_interface)
qt5_add_dbus_interface(modelTest_SRC
${KWIN_SOURCE_DIR}/org.kde.kwin.Effects.xml kwin_effects_interface)
add_executable(effectModelTest ${modelTest_SRC})
ecm_mark_as_test(effectModelTest)
target_link_libraries(effectModelTest
Qt5::Quick
Qt5::QuickWidgets
Qt5::DBus
Qt5::Test
Qt5::Widgets
KF5::CoreAddons
KF5::ConfigCore
KF5::Declarative
KF5::I18n
KF5::KCMUtils
KF5::NewStuff
kwineffects
kcmkwincommon
)
endif()
INSTALL(DIRECTORY qml DESTINATION ${DATA_INSTALL_DIR}/kwincompositing)
INSTALL(TARGETS kwincompositing DESTINATION ${PLUGIN_INSTALL_DIR})
install(FILES kwincompositing.desktop kcmkwineffects.desktop DESTINATION ${SERVICES_INSTALL_DIR})
install(FILES kwineffect.knsrc DESTINATION ${CONFIG_INSTALL_DIR})
################# list the subdirectories #################