ProcessorCount¶
ProcessorCount(var)
确定处理器/核心的数量并将值保存在 ${var} 中
如果可以确定信息,则将名为 ${var} 的变量设置为机器上可用的物理核心数。 否则,它被设置为 0。 目前,此功能已针对 AIX、cygwin、FreeBSD、HPUX、Linux、macOS、QNX、Sun 和 Windows 实现。
在版本 3.15 中更改:在 Linux 上,返回容器 CPU 计数而不是主机 CPU 计数。
如果成功,此函数保证返回一个正整数 (>=1)。 如果在确定处理器计数时出现问题,则返回 0。
更准确的物理 CPU 计数通常可以通过 cmake_host_system_information()
获取
cmake_host_system_information(RESULT N
QUERY NUMBER_OF_PHYSICAL_CORES)
示例用法,在 ctest -S 仪表板脚本中
include(ProcessorCount)
ProcessorCount(N)
if(NOT N EQUAL 0)
set(CTEST_BUILD_FLAGS -j${N})
set(ctest_test_args ${ctest_test_args} PARALLEL_LEVEL ${N})
endif()
此函数旨在提供当前机器上可用计算核心数量值的近似值,以便您可以将该值用于并行构建和并行测试。 它旨在帮助尽可能合理地利用机器。 当然,在决定是否要为自己请求机器的全部容量时,应使用对机器上可能同时运行的其他内容的了解。