Gitのバージョン番号をプログラムに埋め込む
気がつくと、1ヶ月近くBlog更新してない。
簡単なTips。Gitの管理番号をソースコードに埋め込みたくなった。
Makefile
Makefileの中には、Shellコマンドを書いたりすることができる。
GIT_VER = $(shell git log -1 --format="%h") CUSTOM_FLAGS += -DGITVER=\"$(GIT_VER)\"
として、gccに渡してやるとよい。
注意点としては、DGITVER=\"$(GIT_VER)\"とダブルクォートで囲んで(シンボルではなく文字列にするため)、さらにエスケープしてやる必要がある。*
Cプログラム側
こちらは、普通にマクロを受ければいいので、何もいらない。
void print_version() { std::cout << "exec: " << VERSION << "-(" << GITVER << ")" << std::endl; exit(EXIT_SUCCESS); }