Установите количество потоков в сборке CMake из командной строки
cmake --build . --config Release
Можно ли установить количество ядер, которые будут использоваться в процессе сборки?
Я ищу что-то похожее на GNU make -j.
Ответ 1
Согласно примечаниям к выпуску, с CMake 3.12 это можно сделать кроссплатформенным:
В cmake(1)Режим инструмента сборки (cmake –build) cmake –build--parallel [<jobs>] и -j [<jobs>] для указания уровня параллельной сборки. Они сопоставляются с соответствующими параметрами родного инструмента сборки.
Ответ 2
Вы можете передать произвольные аргументы в собственный инструмент построения с помощью --. Все после -- будет передано инструменту построения. Чтобы передать -j 3 в вашем примере, просто используйте
Вы также можете использовать Ninja в качестве инструмента построения, он автоматически использует соответствующее количество потоков. Или вы можете изменить команду make, указав CMAKE_MAKE_PROGRAM="make -j 3. Но это довольно хакерское решение.