動的なgitベースのバージョン番号をautoconfプロジェクトに割り当てる方法を教えてください。 のAutoconfはautoconf管理プロジェクトにGitベースのバージョンを挿入するには?
AC_INIT([Title],[version],[name])
AC_INITのドキュメントを静的な文字列引数を必要とするものが シェルベースのバージョンを提供するためにM4を使用できることを述べています。 M4は私のケンを超えています。私はこの4.6.6-alpha07-9-ga3e01a8
のようなものを生成し、このコマンド
version=`git describe --abbrev=7 --dirty --always --tags`
の結果に応じてバージョンに私の ソフトウェアをしたいと思います。
高レベルの回答を理解できない場合があります。私は、 " をカットし、これをautoconf.acやacinclude.m4に貼り付ける"のような解決策が必要です。
助けてください。
AC_INIT([Title], [m4_esyscmd_s([git describe --abbrev=7 --dirty --always --tags])])
あなたのために働く必要がありますについてはどのように
ありがとうございました。部分的に動作し、configureが失敗する原因になります。理由を理解するのは難しいです。まだ調べています... –
@CharlieZender: 'm4_esyscmd'の周りの' [] 'を削除し、その結果を' tr'で実行して末尾の改行を取り除いてください: 'AC_INIT([Title]、m4_esyscmd([git describe-略語= 7 - ダーティー - 常時 - タグ| tr -d '\ n'])) '。 –
これは機能します!私が望むバージョンの文字列で完了を構成します。驚くほど多くのプロジェクトでGitベースのバージョンタグは使用されていません。 ldav1sの回答が編集されない限り、この回答を正しいとマークする必要はありませんか... –