Я хочу создать внешний проект CMake с помощью MSBuild. Но я также хочу построить подмножество решения для внешних проектов. Так что в основном это выглядитCMake ExternalProject_Add: Как создать несколько целей msbuild?
ExternalProject_Add(MyExternalProject
PREFIX ${CMAKE_BINARY_DIR}/External/myproject
GIT_REPOSITORY ...
CONFIGURE_COMMAND ...
BUILD_COMMAND msbuild /p:Configuration=Release /target:TargetA;TargetB /m Project.sln
)
К сожалению CMake всегда заменяет ;
с пространством и, следовательно, MSBuild жалуется, что было дано более одного файла проекта (* .sln).
Я пробовал все: цитируя аргументы, ставя целую команду сборки в переменную, избегая точки с запятой ... ничего не работало.
Первоначально я также попытался построить с CMake --build
-параметром без успеха.
https://www.mail-archive.com/[email protected]/msg16813.html намекает, что вам нужно как цитаты и побег. – IdeaHat
Я не нашел способ передать несколько целей в CMake build '--target'-parameter. –
@IdeaHat, я прочитал сообщение, но я до сих пор не уверен, что мне следует избегать - ';' или '' '. –