VC PlusPlus:MSBuild プロパティ変数
概要
MSBuild形式で記述されるスクリプトの中の$(Property)のような形式の変数をプロパティと呼んでいます。
コンソールアプリケーションを作成したときに保有するプロパティ変数 $(Property)
- $(VCTargetsPath):
- VisualStudio 2022だと次のような値です。"C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\"
- $(Configuration):
- /p:Configurationで設定されていた値 Release or Debug など
- $(Platform):
- /p:Platformで設定されていた値 x64 or Win32 など
- $(UserRootDir):
- ユーザ毎の値ですが例えば次にような値です。C:\Users\(UserID)\AppData\Local\Microsoft\MSBuild\v4.0
プロパティ値の設定変更
プロパティは以下のように値を変更できます。例えば$(AfterLinkTargets)に元の値を残しつつ、追加の文字列 ;MuiLink を追加する例は
<PropertyGroup>
<AfterLinkTargets>$(AfterLinkTargets);_MuiLink</AfterLinkTargets>
</PropertyGroup>
のようにします。元の値が、$(AfterLinkTargets)="AfterLink"であれば、上記を実行後は$(AfterLinkTargets)="AfterLink;_MuiLink"のようになります。このような変更で、もともと$(AfterLinkTargets)にはLink処理後に呼び出すべきターゲット名を格納しているので、AfterLinkというTargetが呼び出された後に、_MuiLinkというTargetが呼び出されます。