recherche:prog:git

Incorporer un numéro de version dans le code

Inspired from 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

src/GitVersion.cpp.in

#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);
    }
  • recherche/prog/git.txt
  • Dernière modification : 29/04/2021 14:58
  • de aurelien.villani