Conversation
| .PHONY: build-library | ||
| build-library: clean ## Build shared library | ||
| cmake -S . -B build | ||
| cmake --build build -j$(nproc) No newline at end of file |
There was a problem hiding this comment.
-j$(nproc) разворачивается в -j при запуске из make. Такой вызов синтаксически корректен, но make -j печально известен тем, что приводит к перегрузкам системы (и ошибкам сборки в достаточно больших проектах).
Предлагается заменить на cmake --build build -j$$(nproc)
There was a problem hiding this comment.
Ну в таком случае можно просто заменить на cmake --build build --parallel. Это устроит?
There was a problem hiding this comment.
Некоторые LLM ошибочно утверждают, что вызов cmake --build build --parallel равносилен вызову cmake --build build -j$(nproc). Согласно документации, такой вызов просто перевызывает нативную сборочную утилиту с теми же параметрами (в нашем случае make -j):
The cmake(1) Build a Project (cmake --build) gained --parallel [<jobs>] and -j [<jobs>] options to specify a parallel build level. They map to corresponding options of the native build tool.
No description provided.