make -j N
每当我make
从终端调用时,我希望我的 CMake 项目由 构建。我不想-j
每次都手动设置选项。
为此,我将CMAKE_MAKE_PROGRAM变量设置为特定的命令行。我使用这个ProcessorCount()
函数,它给出了并行执行构建的处理器的数量。
当我这样做时make
,我看不到任何加速。但是,如果我这样做make -j N
,那么它的构建速度肯定会更快。
你能帮我解决这个问题吗?(我正在 Linux 上开发这个。)
这是我使用的代码片段CMakeList.txt
:
include(ProcessorCount)
ProcessorCount(N)
message("number of processors: " ${N})
if(NOT N EQUAL 0)
set(CTEST_BUILD_FLAGS -j${N})
set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
set(CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM} -j ${N}")
endif()
message("cmake make program" ${CMAKE_MAKE_PROGRAM})
非常感谢。