Я хочу, чтобы проект 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})
Большое спасибо.