recherche:prog:git

Ceci est une ancienne révision du document !


Incorporer un numéro de version dans le code

Inspired from [here](from http://xit0.org/2013/04/cmake-use-git-branch-and-commit-details-in-project/)

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 bosst::program_options:

    if (prog_options.count("version")) {
        std::cout << g_GIT_VERSION << std::endl;
        exit(EXIT_SUCCESS);
    }
  • recherche/prog/git.1531239766.txt.gz
  • Dernière modification : 10/07/2018 18:22
  • de aurelien.villani