Skip to content

effects: Modularize builtin effects build

Vlad Zahorodnii requested to merge work/zzag/cleanup-effect-cmake into master

Currently, cpp source files are included partially in effect sub-folders and src/effects/CMakeLists.txt, which is really confusing and hard to follow.

With this change, effect targets will be defined in their own subfolders. This makes build files more straightforward.

Effect sub-targets are eventually merged into a monolithic kwin4_effect_builtins target.

Another reason for modularizing builtin effects is that no two effects can generate moc files with the same name atm even though they are in different sub-folders. This can be potentially useful in the future, e.g. making effects static plugins in order to decouple builtin effects from libkwin (every effect subfolder would need a main.cpp or plugin.cpp file, which will include the associated moc file).

Merge request reports