====== Incorporer un numéro de version dans le code ======
Inspired from [[http://xit0.org/2013/04/cmake-use-git-branch-and-commit-details-in-project/|here]]
On peut utiliser automatiquement les infos git pour retourner le numéro de version d'un programme (avec un mon_prog -v par example).
En utilisant cmake, mettez dans le CMakeLists:
execute_process(
COMMAND git describe --abbrev=8 --dirty --always --tags
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
OUTPUT_VARIABLE GIT_CODE_VERSION
OUTPUT_STRIP_TRAILING_WHITESPACE
)
configure_file("src/GitVersion.cpp.in" "../src/GitVersion.cpp" @ONLY)
Et le fichier template
#define GIT_VERSION "@GIT_CODE_VERSION@"
const char g_GIT_VERSION[] = GIT_VERSION;
Avec ça, vous pouvez appeler dans votre code ce numéro de version, ici via boost::program_options:
if (prog_options.count("version")) {
std::cout << g_GIT_VERSION << std::endl;
exit(EXIT_SUCCESS);
}