f9e0a8b597
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
29 lines
754 B
CMake
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
|
|
)
|