Опции 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)), но я не хочу обрабатывать каждый вариант отдельно.

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

1 ответ

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

Другие вопросы по тегам