It seems that VTK_MAJOR_VERSION and VTK_MINOR_VERSION are currently 9.0 in both the release and master branch.
Shouldn’t master be incremented by now?
I’m not aware of how/when this is done, but their being the same is causing us problems because there are backwards incompatible changes in master that we need to add #ifs in our app to be able to build our app against both branches.
The patch version on master is in the stratosphere (20200615). It will be 9.1 once we have a 9.1.0 (otherwise you have a negative patch number and no one wants to think about such things).
So, concretely, if in my app I’m trying to conditionalize a workaround for VTK bug #17907, which was fixed in both release and master on 2020-06-12, how could I do that?
It seems to me for the master branch I could do:
#if (VTK_VERSION_NUMBER > VTK_VERSION_CHECK(9, 0, 20200612))
but if there’s no number that auto-increments on the release branch, there’s no way to do anything similar, right? And even when 9.0.1 is released, it will still be < 9.0.20200612.
You can also check for 9.0.1.
// A bugfix was backported to 9.0.1 and merged to master as well.
#if VTK_VERSION_NUMBER == VTK_VERSION_CHECK(9, 0, 1) || \
VTK_VERSION_NUMBER >= VTK_VERSION_CHECK(9, 0, 20200612)
But this would evaluate to false for 9.0.2.
Indeed. Hmm. You could bound it on
9.0.1 <= x < 9.0.20200101. We can’t really use 9.1.0 yet because then you have the ambiguity of “9.1.0-in-development” vs “9.1.0-the-release”.