I have a CMake multi module project made of a library and an executable. Both the root project and each sub module has its own version (
I would like to know how to handle each version:
- if root project changes version, each sub module goes through the same change
- if a sub module changes version, what should happen to super project and to other module?
My doubt is that, propagating sub module changes to root makes its version a mix of all changes.
Suppose you are starting from:
- root 1.0.0
- lib 1.0.0
- exe 1.0.0
then you made a minor fix to lib and a path to exe:
- lib 1.1.0
- exe 1.0.1
Should root version be 1.1.1? Is it meaningful?
What if both changes are minor fix? Root should increment to 1.1.0 or to 1.2.0 (the "sum" of each module minor fix)?