cmake:添加' +'构建命令的前缀以启用并行make

时间:2017-05-18 08:42:15

标签: linux bash cmake

我有一个CMakeLists.txt,它有一个ExternalProject_Add()。在ExternalProject_Add()中,我有一个调用bash脚本的BUILD_COMMAND。然后该脚本将继续调用make。

除了在尝试使用并行make时我看到以下警告时,一切都正常工作:

warning: jobserver unavailable: using -j1. Add `+' to parent make rule

在普通的Makefile中,如果你想调用一个调用make的bash脚本,你需要添加一个' +'在调用bash脚本之前,让子进程可以与父进程通信。 E.g:

all:
    + ./run.sh

所以我试图用CMake完成同样的工作并且没有这样做。

目前,我的构建命令如下所示:

BUILD_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/install.sh

在生成的build.make中,相关位看起来像这样:

torch/src/stamp/foo-build: torch/src/stamp/foo-configure
    ...
    cd ... && .../install.sh

如果我手动更新build.make以添加' +'在' cd之前...'然后一切似乎都很好。所以我试图找出一种方法来告诉CMake它需要为' +'添加前缀。在它发出之前......'。反正有吗?

0 个答案:

没有答案