Параметры Msbuild и ClCompile [дубликаты]

Я компилирую код C++ с msbuild и указываю cl опции внутри 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)), но я также не хочу обрабатывать каждый параметр отдельно.

Есть лучший способ сделать это?


person Miroslav Franc    schedule 27.04.2016    source источник


Ответы (1)


Для этого нет тривиальных решений. Вы можете найти отправную точку здесь и другой пример здесь

person Troopers    schedule 27.04.2016