The current situation is that "Default CMake executable" and "Default generator" settings (theirs config page and KConfig-generated class) are located in `cmakebuilder` library. At the same time, the dialog that is shown when importing new CMake project is in `cmakemanager`. The problem is that dialog needs to get default settings from `cmakebuilder` to initialize its fields, but in current situation it is impossible.
- Simply including "cmakebuildersettings.h" doesn't work (at least on Windows) because of undefined references. At the same time we can't link `cmakebuilder` to `cmakemanager` because the builder is a plugin.
- Statically linking `CMakeBuilderSettings` implementation won't work either because there would be two distinct objects (and even types!) of it. The one in `cmakemanager` wouldn't be populated by `cmakebuilder`s config dialog.
Possible solutions:
- We can do what [[ https://phabricator.kde.org/D772 | i did to clang plugin ]]. That is, factoring out settings stuff into a shared library that both `cmakemanager` and `cmakebuilder` would be linked to. This means another file to be installed, unfortunately.
- Combine two plugins into one. It is fine if a single plugin implements multiple interfaces, right?
- Try to use Qt's interfaces. Honestly, i didn't look into that yet, but i will if previous solutions are undesirable.