RFC: Accessing cmakebuilder settings from cmakemanager plugin.
Open, Needs TriagePublic

Description

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 cmakebuilders config dialog.

Possible solutions:

  • We can do what 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.
arrowd created this task.Jan 15 2016, 10:01 AM
arrowd updated the task description. (Show Details)
arrowd raised the priority of this task from to Needs Triage.
arrowd added a project: KDevelop.
arrowd added a subscriber: arrowd.