Я хочу, чтобы проект CMake был создан make -j N
, когда я вызываю make
из терминала. Я не хочу каждый раз устанавливать параметр -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})
Большое спасибо.