#1716 dunecontrol passes non standard variable names to cmake.
Metadata
Property | Value |
---|---|
Reported by | Robert K (robertk@posteo.org) |
Reported at | Sep 16, 2015 12:17 |
Type | Bug Report |
Version | Git (pre2.4) [cmake] |
Operating System | Unspecified / All |
Last edited by | Robert K (robertk@posteo.org) |
Last edited at | Sep 19, 2015 11:24 |
Description
dunecontrol, when used with cmake passes module names to cmake in a non-cmake fashion, i.e.
module names are passed as -Ddune-module_DIR
(-Ddune-common_DIR
for example) when it should be:
-DDUNE_MODULE_ROOT
(e.g -DDUNE_COMMON_ROOT
), as it is cmake standard.
The following patch fixes this issue in the dunecontrol script. However, it is not clear to me at which point in dune-common/cmake/modules we have to adjust the cmake scripts.
My guess is line 121 of DuneMacros.cmake where ${module}_ROOT
is actually checked (in think this is wrong anyway because ${module}
would be something like dune-common.
However, when making the attached changes to dunecontrol, building the dune-core modules still works (unclear why). One only gets the following output (suggesting a potential problem):
Manually-specified variables were not used by the project:
DUNE_COMMON_ROOT
Using cmake conform variable names is needed in case other projects (e.g. OPM) use dunecontrol for building and depend on this logic.