2015-10-01 30 views
1

当建立一个CMake的项目(例如,在Windows),I可以通过执行下面的命令执行并行构建:如何做并行CMake的ExternalProject构建

cmake --build . -- /m 

/m开关被传递到MSBUILD和我获得并行化的构建。但是,如果我在CMakeLists中有一些外部项目,那么这个开关就不会传递给它的构建命令。

确保我的ExternalProject是并行构建的最佳方法是什么?如果我可以避免,我不想对BUILD_COMMAND进行硬编码。

回答

0

我与基于make的external_projects有同样的问题。我结束了通过cmake缓存变量传递-j8标志的解决方案。

set(EXTERNAL_BUILD_ARGS "/m" CACHE STRING "flags for external project builds")