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()
此函數旨在提供目前機器上可用計算核心數量的近似值,以便您可以將該值用於平行建置和平行測試。 它旨在協助盡可能利用機器的資源。 當然,在決定是否要求機器將所有容量都留給自己時,應考慮機器上可能同時運行的其他程式。