У меня есть внешний проект, основанный на make, я могу успешно скомпилировать ссылку. (Я изменил make инфра стороннего проекта, чтобы разбить крупную марку на несколько меньших, чтобы можно было запускать параллельно другую малую марку, но это ортогонально этому вопросу)
Cmake третьей стороны, как показано ниже
External_Project_Add( ...
....
#NO BUILD_COMMAND)
Но компиляция идет слишком медленно, и я вижу, что максимальное количество компиляций не превышает 8 потоков, а загрузка ЦП составляет ~ 20%. (мы также используем distcc).
Если я изменю, как показано ниже
External_Project_Add( ...
....
BUILD_COMMAND ${CMAKE_COMMAND} --build <dir> --parallel --)
Компиляция выполняется очень быстро по крайней мере в 3 раза. Однако иногда система исчерпывает PID.
Есть ли способ контролировать максимальное количество PID / процессов, доступных для CMAKE?
Я думал об использовании опции -j - BUILD_COMMAND, но она искусственно уменьшит количество компиляции, доступное моей системе.
Я попытался изменить $ (MAKE) в моей сторонней программе make на -jn, но затем он показывает предупреждение домена для сервера заданий. Не стоит менять также стороннюю марку. Поэтому я отбросил эту идею.
Любая помощь приветствуется!