如何在所有可用内核上并行构建 CMake 项目?
How to build a CMake project in parallel on all available cores?
此 展示了如何使用指定数量的核心构建 CMake 项目。例如,如果我想使用 10 个内核,我可以这样调用 CMake:
cmake --build . -j 10
我的问题是:如何使用 所有 我的可用内核进行构建。我实际上希望 CMake 自动检测我的核心数量并使用它们。
As of CMake 3.22,没有标准的方法可以做到这一点。但是,有一些实用的方法。
- 如果您使用
Ninja
或 Ninja Multi-Config
生成器,在任何平台上,只需 运行 使用 cmake --build /path/to/build-dir
构建即可使用所有内核。
- 如果您使用的是类 UNIX 命令行,则可以 运行
cmake --build . -j $(nproc)
- 如果你在Windows/cmd,你可以运行
cmake --build . -j %NUMBER_OF_PROCESSORS%
此
cmake --build . -j 10
我的问题是:如何使用 所有 我的可用内核进行构建。我实际上希望 CMake 自动检测我的核心数量并使用它们。
As of CMake 3.22,没有标准的方法可以做到这一点。但是,有一些实用的方法。
- 如果您使用
Ninja
或Ninja Multi-Config
生成器,在任何平台上,只需 运行 使用cmake --build /path/to/build-dir
构建即可使用所有内核。 - 如果您使用的是类 UNIX 命令行,则可以 运行
cmake --build . -j $(nproc)
- 如果你在Windows/cmd,你可以运行
cmake --build . -j %NUMBER_OF_PROCESSORS%