The project should use a symantic version tag like v.1.0.0
You can then use CMake to parse gits info and use the most recent symantic tag for your Major.minor.patch. For the tweak value i like to the git default of commits since last tag. This can then be exposed to the application with configure_file and the application can use the same version number. The package can also get this number.
The project should use a symantic version tag like v.1.0.0
You can then use CMake to parse gits info and use the most recent symantic tag for your Major.minor.patch. For the tweak value i like to the git default of commits since last tag. This can then be exposed to the application with
configure_fileand the application can use the same version number. The package can also get this number.