Я пытаюсь настроить CMake для создания решения MSVC (2010) для нашего проекта, и мне нужно настроить проекты так, чтобы они использовали нашу конкретную систему сборки, а не компилировали с использованием командной строки по умолчанию.
Вот как выглядит файл проекта для VS2008 (который мы генерируем с помощью другого сценария, от которого я бы хотел избавиться):
<Tool
Name="VCNMakeTool"
BuildCommandLine="../bam.bat -j %%NUMBER_OF_PROCESSORS%%"
ReBuildCommandLine="../bam.bat -j %%NUMBER_OF_PROCESSORS%% -c && ../bam.bat -j %%NUMBER_OF_PROCESSORS%%"
CleanCommandLine="../bam.bat -j %%NUMBER_OF_PROCESSORS%% -c "
Output="..\..\..\common\win32\container.exe"
PreprocessorDefinitions=""
IncludeSearchPath=""
ForcedIncludes=""
AssemblySearchPath=""
ForcedUsingAssemblies=""
CompileAsManaged=""
/>
Это в основном три CommandLine настройки, которые я хотел бы указать в моей конфигурации cmake.
Я нашел команду build_command в документации, но из описания она звучит так, как будто она сортируетпротивоположность того, что я хочу, т.е. записать командную строку, которую он сгенерирует в переменную, а не взять строку и установить для нее командную строку.
Кое-что, что кажется немного связанным, это кросс-компиляцияфункция в CMake, но я уверен, что это хороший способ сделать это.
По сути, я просто хочу, чтобы VS запускал пакетный файл при сборке, а затем анализировал результаты, чтобы получить хорошие сообщения об ошибках и т. Д.