I just did a git pull
.
One file changed, grdinfo.rst
:
Fast-forward
doc/rst/source/grdinfo.rst | 5 +++++
1 file changed, 5 insertions(+)
Still, Cmake
rebuilds everything (197 ‘modules’).
Is this to be expected?
I thought the point of having a build/make-system is that only things that need to be rebuilt, are actually rebuilt.
In this case, I would expect nothing to happen. cmake --build .
doesn’t build the docs?!
Currently, this is the expected behavior.
For GMT dev versions, we use the git commit hash in the GMT version string (e.g., 6.5.0_d60a484_2023.08.24
). For every changes, the GMT version string changes, and thus the gmt_version.h
file changes. The gmt_version.h
is included in the gmt_dev.h
file, which is further included in the source code of all GMT modules. So the dependency is “git commit hash”->“GMT version string”->“gmt_version.h”->“gmt_dev.h”->“Any GMT modules”. That’s why all modules are always rebuilt for only one file change. So
I agree that this is not ideal and should be avoided. Please open an issue report in the GMT repository and we will see what we can do to fix it.
1 Like
@seisman, thank you so much for crystal clear explanation.
It all makes sense.
I’ll make an issue.
Thanks!