C2A_Core
git_revision.h ファイル

git revisionをコードに埋め込むための準備をする [詳解]

git_revision.h の依存先関係図:
被依存関係図:

[ソースコード]

変数

const char GIT_REV_CORE [41]
 < 設定ないしcommit hashを読み込む [詳解]
 
const uint32_t GIT_REV_CORE_SHORT
 
const char GIT_REV_USER [41]
 
const uint32_t GIT_REV_USER_SHORT
 

詳解

git revisionをコードに埋め込むための準備をする

git_revision.h に定義があります。

変数詳解

◆ GIT_REV_CORE

const char GIT_REV_CORE[41]
extern

< 設定ないしcommit hashを読み込む

< コンパイルオプションないしuserの設定で定義されたcommit hashを読み込んで埋め込みます git revisionの埋め込みは,以下の定数を通して行われます(経緯: #82). GIT_REVISION_C2A_CORE C2A coreのcommit hash(文字列) GIT_REVISION_C2A_CORE_SHORT C2A coreのcommit hash short(0xから始まる数値) GIT_REVISION_C2A_USER C2A userのcommit hash(文字列) GIT_REVISION_C2A_USER_SHORT C2A userのcommit hash short(0xから始まる数値) これらの定数は,Cコンパイラの引数からdefine(-Dなど)してもよいですし, src_user/Settings/git_revision_config.hでdefineしてもよいです.

覚え書き
CMakeを使う場合はコマンドラインオプションからのdefineを推奨します. この場合,src_user/Settings/git_revision_config.hでC2A_GIT_REVISION_FROM_OPTIONをdefineしてください(他には何も要りません).
コマンドラインオプションからのdefineが開発環境の都合などにより困難な場合は, src_user/Script/Git/revision.sh/batをビルドパイプライン上で実行するようにします. このスクリプトは上記の定数群をdefineしたsrc_user/Settings/git_revision_config.hを自動生成します. この場合,src_user/Settings/git_revision_config.hはcommit・ビルドの度に変更されるため,gitignoreしておいた方がよいでしょう.
ビルドパイプラインをうまく組めないなど,上記2つの手段が使えない,かつ,revisionを埋め込まなくてもよい場合は, src_user/Settings/git_revision_config.hでC2A_GIT_REVISION_IGNOREをdefineしてください. こうすると,0が埋め込まれます.

c2a_core_main.c20 行目に定義があります。

◆ GIT_REV_CORE_SHORT

const uint32_t GIT_REV_CORE_SHORT
extern

c2a_core_main.c21 行目に定義があります。

◆ GIT_REV_USER

const char GIT_REV_USER[41]
extern

c2a_core_main.c22 行目に定義があります。

◆ GIT_REV_USER_SHORT

const uint32_t GIT_REV_USER_SHORT
extern

c2a_core_main.c23 行目に定義があります。