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()
此函数旨在提供当前机器上可用的计算核心的数量的近似值,以便您可以将此值用于并行构建和并行测试。它的目的是帮助最大程度地利用机器,这看上去较为合理。当然,在决定是为给自己请求机器的全部容量时,应该了解同时在机器上可能运行的其他内容。