2016-04-27 13 views
0

msbuildでC++コードをコンパイルし、ClCompile内にclオプションを指定します。何かのように...MsbuildとClCompileオプション

<ItemGroup> 
    <ClCompile Include="something.cpp"> 
     <FloatingPointModel>Precise</FloatingPointModel> 
     <WarningLevel>Level2</WarningLevel> 
    </ClCompile> 
</ItemGroup> 

<Import Project="$(VCTargetsPath)\Microsoft.Cpp.default.props" /> 
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.props" /> 
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Targets" /> 

上記は単なる例です。今私はcl呼び出しに使用されるすべてのオプションを出力したいと思います。問題は、どうしたらいいですか?

<Target Name="WriteToFile" AfterTargets="ClCompile" > 
    <WriteLinesToFile File="$(OutDir)\log.txt" Lines="@(ClCompile)" Overwrite="true" /> 
</Target> 

悲しいことに、これはファイル名のみ(something.cpp)とされていないオプションをログに記録します。私の最初の試みは、以下のようなものを使用することでした。

コンパイラのオプションはTracker.exeに保存されていますが、CL.command.*.tlogファイルに保存されていますが、最初は変更の対象となるので頼りたくはありません。後で変換する。私は個々のオプション(%(ClCompile.FloatingPointModel)のような)にアクセスできることも知っていますが、私は別々に各オプションを扱いたくありません。

これを行うより良い方法はありますか?

答えて

1

これを実行するための些細な解決策はありません。 開始点here と別の例here