如何在所有可用内核上并行构建 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,没有标准的方法可以做到这一点。但是,有一些实用的方法。

  1. 如果您使用 NinjaNinja Multi-Config 生成器,在任何平台上,只需 运行 使用 cmake --build /path/to/build-dir 构建即可使用所有内核。
  2. 如果您使用的是类 UNIX 命令行,则可以 运行 cmake --build . -j $(nproc)
  3. 如果你在Windows/cmd,你可以运行cmake --build . -j %NUMBER_OF_PROCESSORS%