#1589 Replace the stamp-regenerate-config-h mechanism by a dunecontrol command
Metadata
Property | Value |
---|---|
Reported by | Oliver Sander (oliver.sander@tu-dresden.de) |
Reported at | Mar 10, 2015 11:18 |
Type | Bug Report |
Version | 2.3 |
Operating System | Unspecified / All |
Description
duneproject creates an empty file called
stamp-regenerate-config-h
It is completely undocumented, and fairly difficult to find out what it does by looking at the code alone. Here is the information that I received on the mailing list:
Dominic Kempf: 14.11.2014
The idea behind the file is to have a "button" to force regeneration of config.h. In DuneMacros.cmake in line 837 a dependency of config.h.cmake on this file is declared. By touching it, you for cmake to regenerate it. Whether or not this is a usual or necessary design, I cannot judge.
Simply removing config.h and rebuilding is not an option, because:
Markus Blatt 24.11.2014
Because it is a two step procedure:
- build-dir/config.h.cmake is generated from all config.h.cmake in the source directory of this module and all modules that we depend on.
- Then config.h is generated from that one.
The button is there for developers to test new changes in upstream modules. A better alternative would be to explicitly state the dependencies between the config.h.cmake files.
Few people are likely to ever use this feature, as it is very hard to document. On the other hand, non-guru users will be puzzled by what this file is about. I therefore propose to remove the file, and instead add a new dunecontrol command, e.g. "reconfigure", which does the rebuilding of config.h.