-
Artur Grunau authored
There used to be no way to specify what other modules each module required in order to work. This led to either compilation or linker errors that were often not easy to understand. Introduce a new module-level CMake variable, ThisModDependencies, that a module can set in its CMake file to indicate what other modules need to be enabled for it to compile and work properly. If defined, ThisModDependencies should be a list of strings — the names of required modules. Once all available modules have been analysed, the collected dependency information is used to activate (if necessary) the dependencies of every enabled module. Transitive and circular dependencies are already supported in this initial version of our module dependency system. Unfortunately, when a module gets enabled in the CMake GUI, its dependencies are only resolved once the Configure button is clicked and CMake runs again. This is a limitation of CMake in that all configuration happens offline and it's not possible to react to value changes immediately. References #144
e1551c26