【发布时间】:2018-02-08 16:09:27
【问题描述】:
我想用 MSBuild 构建一个 CMake ExternalProject。但我也只想构建外部项目解决方案的一个子集。所以基本上是这样的
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-parameter 构建但没有成功。
【问题讨论】:
-
mail-archive.com/cmake@cmake.org/msg16813.html 提示您需要引号和转义符。
-
我没有找到将多个目标传递给 CMake build
--target-parameter 的方法。 -
@IdeaHat,我已经阅读了该消息,但我仍然不确定我还应该逃避什么——
;或"。