CMake module which adds automatic semantic versioning to a project based on git tags and commits