kwin/effects/cube/CMakeLists.txt
Martin Gräßlin f9e0a8b597 [kwin] Create one plugin per effect configuration
There are no advantages for the effects KCM to have all the effect
config modules in one plugin.

By having a plugin per effect we can use the KPluginTrader to easily
find the configuration plugin for a given effect and load it.

To make this possible the following changes are done:
* config_builtins.cpp is deleted
* add_subdirectory is used for all effects which have a config module
* toplevel CMakeLists.txt contains the sources again for the effects
  which have a config module, but effects which don't have a config
  module are still included and thus the macro is still used
* plugin created for the config module, name pattern is:
   kwin_effectname_config
* plugin installed to ${PLUGIN_INSTALL_DIR}/kwin/effects/configs
* desktop file adjusted to new plugin name and keyword removed
* desktop file converted to json as meta data and no longer installed
* Uses K_PLUGIN_FACTORY_WITH_JSON
* Macros for config are dropped from kwineffects.h

REVIEW: 116854
2014-03-25 15:37:35 +01:00

75 lines
1.7 KiB
CMake

#######################################
# Effect
# .desktop files
install( FILES
cube.desktop
cubeslide.desktop
DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
# Data files
install( FILES
data/cubecap.png
DESTINATION ${DATA_INSTALL_DIR}/kwin )
install( FILES
data/1.10/cube-cap.glsl
data/1.10/cube-reflection.glsl
data/1.10/cylinder.vert
data/1.10/sphere.vert
DESTINATION ${DATA_INSTALL_DIR}/kwin/shaders/1.10
)
install( FILES
data/1.40/cube-cap.glsl
data/1.40/cube-reflection.glsl
data/1.40/cylinder.vert
data/1.40/sphere.vert
DESTINATION ${DATA_INSTALL_DIR}/kwin/shaders/1.40
)
#######################################
# Config
# cube
set(kwin_cube_config_SRCS cube_config.cpp)
qt5_wrap_ui(kwin_cube_config_SRCS cube_config.ui)
kconfig_add_kcfg_files(kwin_cube_config_SRCS cubeconfig.kcfgc)
add_library(kwin_cube_config MODULE ${kwin_cube_config_SRCS})
target_link_libraries(kwin_cube_config
kwineffects
KF5::ConfigWidgets
KF5::GlobalAccel
KF5::I18n
KF5::XmlGui
KF5::KIOWidgets
KF5::Service
)
kservice_desktop_to_json(kwin_cube_config cube_config.desktop)
# cube slide
set(kwin_cubeslide_config_SRCS cubeslide_config.cpp)
qt5_wrap_ui(kwin_cubeslide_config_SRCS cubeslide_config.ui)
kconfig_add_kcfg_files(kwin_cubeslide_config_SRCS cubeslideconfig.kcfgc)
add_library(kwin_cubeslide_config MODULE ${kwin_cubeslide_config_SRCS})
target_link_libraries(kwin_cubeslide_config
kwineffects
KF5::ConfigWidgets
KF5::I18n
KF5::Service
)
kservice_desktop_to_json(kwin_cubeslide_config cubeslide_config.desktop)
install(
TARGETS
kwin_cube_config
kwin_cubeslide_config
DESTINATION
${PLUGIN_INSTALL_DIR}/kwin/effects/configs
)