2010-10-08 11:16:04 +04:00
|
|
|
include(ProcessorCount)
|
|
|
|
|
|
|
|
ProcessorCount(processor_count)
|
|
|
|
message("processor_count='${processor_count}'")
|
|
|
|
|
2010-11-09 22:29:52 +03:00
|
|
|
execute_process(
|
|
|
|
COMMAND "@CMAKE_BINARY_DIR@/Source/kwsys/$ENV{CMAKE_CONFIG_TYPE}/cmsysTestsCxx"
|
|
|
|
testSystemInformation
|
|
|
|
OUTPUT_VARIABLE out)
|
|
|
|
string(REGEX REPLACE "(.*)GetNumberOfPhysicalCPU:.([0-9]*)(.*)" "\\2"
|
|
|
|
system_info_processor_count "${out}")
|
2010-11-10 18:23:50 +03:00
|
|
|
|
2010-11-09 22:29:52 +03:00
|
|
|
message("system_info_processor_count='${system_info_processor_count}'")
|
|
|
|
|
|
|
|
if(system_info_processor_count EQUAL processor_count)
|
|
|
|
message("processor count matches system information")
|
2010-11-08 17:37:04 +03:00
|
|
|
endif()
|
|
|
|
|
2010-11-10 18:23:50 +03:00
|
|
|
message("")
|
|
|
|
message("CTEST_FULL_OUTPUT (Avoid ctest truncation of output)")
|
|
|
|
message("")
|
|
|
|
message("out='${out}'")
|
|
|
|
message("")
|
|
|
|
|
2010-11-09 22:29:52 +03:00
|
|
|
# Evaluate possible error conditions:
|
|
|
|
#
|
|
|
|
set(err 0)
|
|
|
|
|
2010-10-08 11:16:04 +04:00
|
|
|
if(processor_count EQUAL 0)
|
2010-11-09 22:29:52 +03:00
|
|
|
set(err 1)
|
2010-11-10 18:23:50 +03:00
|
|
|
message("err 1")
|
2010-11-09 22:29:52 +03:00
|
|
|
message("could not determine number of processors
|
2010-11-08 17:37:04 +03:00
|
|
|
- Additional code for this platform needed in ProcessorCount.cmake?")
|
2010-11-10 18:23:50 +03:00
|
|
|
message("")
|
2010-10-08 11:16:04 +04:00
|
|
|
endif()
|
2010-11-09 22:29:52 +03:00
|
|
|
|
|
|
|
if(NOT system_info_processor_count EQUAL processor_count)
|
|
|
|
set(err 2)
|
2010-11-10 18:23:50 +03:00
|
|
|
message("err 2")
|
2010-11-09 22:29:52 +03:00
|
|
|
message("SystemInformation and ProcessorCount.cmake disagree:\n"
|
|
|
|
"processor_count='${processor_count}'\n"
|
|
|
|
"SystemInformation processor_count='${system_info_processor_count}'")
|
2010-11-10 18:23:50 +03:00
|
|
|
message("")
|
2010-11-09 22:29:52 +03:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(NOT processor_count MATCHES "^[0-9]+$")
|
|
|
|
set(err 3)
|
2010-11-10 18:23:50 +03:00
|
|
|
message("err 3")
|
2010-11-09 22:29:52 +03:00
|
|
|
message("ProcessorCount function returned a non-integer")
|
2010-11-10 18:23:50 +03:00
|
|
|
message("")
|
2010-11-09 22:29:52 +03:00
|
|
|
endif()
|
|
|
|
|
|
|
|
if(NOT system_info_processor_count MATCHES "^[0-9]+$")
|
|
|
|
set(err 4)
|
2010-11-10 18:23:50 +03:00
|
|
|
message("err 4")
|
2010-11-09 22:29:52 +03:00
|
|
|
message("SystemInformation ProcessorCount function returned a non-integer")
|
2010-11-10 18:23:50 +03:00
|
|
|
message("")
|
2010-11-09 22:29:52 +03:00
|
|
|
endif()
|
|
|
|
|
2010-11-10 18:23:50 +03:00
|
|
|
# TODO: Make this test fail again, once all the dev work is done...
|
|
|
|
#
|
2010-11-09 22:29:52 +03:00
|
|
|
if(err)
|
2010-11-10 18:23:50 +03:00
|
|
|
# message(FATAL_ERROR "err='${err}'")
|
2010-11-09 22:29:52 +03:00
|
|
|
endif()
|