Makefile 有没有一种默认方法可以让cmake使用适当的-jX参数运行make?

Makefile 有没有一种默认方法可以让cmake使用适当的-jX参数运行make?,makefile,cmake,Makefile,Cmake,如果我有一个配置了-G“Unix Makefiles”选项的cmake构建树,我知道我可以运行它 cmake --build . -- -j10 要通过-j10选项进行生成,但是否有方法告诉cmake--build在默认情况下执行此操作(可能是在运行初始cmake时)?我希望避免编写使用依赖于生成器的参数调用cmake--build的shell脚本 现在我正在看一组脚本,它们找出了cmake的参数,并对make-j$NCPUS的调用进行了硬编码;我想改进脚本,使其与生成器无关,但我真的不希望有

如果我有一个配置了-G“Unix Makefiles”选项的cmake构建树,我知道我可以运行它

cmake --build . -- -j10
要通过
-j10
选项进行生成,但是否有方法告诉
cmake--build
在默认情况下执行此操作(可能是在运行初始cmake时)?我希望避免编写使用依赖于生成器的参数调用
cmake--build
的shell脚本

现在我正在看一组脚本,它们找出了cmake的参数,并对
make-j$NCPUS
的调用进行了硬编码;我想改进脚本,使其与生成器无关,但我真的不希望有一堆代码看起来像
if generator==Unix makefile;然后做一件事,做另一件事。


我确实找到了,但这只是讨论了如何手工编写每个生成器的标志。

使用Ninja而不是Makefiles。那么你就没有必要添加这样的魔法了。这不是一个实用的建议。cmake的要点是它可以构建多个系统,而不是一个忍者生成器。我明白你的意思,但是没有办法实现你想要的。你可以操纵CMAKE_MAKE_程序,它也有缺点。请参阅。我很抱歉,我的计划是添加
CMAKE_PARALLEL_LEVEL
变量,以便能够定义项目级别上的核心数量。好的,我已经做了必要的更改(请参阅)。如果您能做一些测试并向合并请求添加反馈,我将非常高兴。