kwin/effects/magiclamp/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

29 lines
754 B
CMake

#######################################
# Effect
install( FILES
magiclamp.desktop
DESTINATION ${SERVICES_INSTALL_DIR}/kwin )
#######################################
# Config
set(kwin_magiclamp_config_SRCS magiclamp_config.cpp)
qt5_wrap_ui(kwin_magiclamp_config_SRCS magiclamp_config.ui)
kconfig_add_kcfg_files(kwin_magiclamp_config_SRCS magiclampconfig.kcfgc)
add_library(kwin_magiclamp_config MODULE ${kwin_magiclamp_config_SRCS})
target_link_libraries(kwin_magiclamp_config
kwineffects
KF5::ConfigWidgets
KF5::I18n
KF5::Service
)
kservice_desktop_to_json(kwin_magiclamp_config magiclamp_config.desktop)
install(
TARGETS
kwin_magiclamp_config
DESTINATION
${PLUGIN_INSTALL_DIR}/kwin/effects/configs
)