ProcessorCountTest.cmake.in 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. include(ProcessorCount)
  2. ProcessorCount(processor_count)
  3. message("processor_count='${processor_count}'")
  4. execute_process(
  5. COMMAND "@CMAKE_BINARY_DIR@/Source/kwsys/$ENV{CMAKE_CONFIG_TYPE}/cmsysTestsCxx"
  6. testSystemInformation
  7. OUTPUT_VARIABLE out)
  8. string(REGEX REPLACE "(.*)GetNumberOfPhysicalCPU:.([0-9]*)(.*)" "\\2"
  9. system_info_processor_count "${out}")
  10. message("system_info_processor_count='${system_info_processor_count}'")
  11. if(system_info_processor_count EQUAL processor_count)
  12. message("processor count matches system information")
  13. endif()
  14. message("")
  15. message("CTEST_FULL_OUTPUT (Avoid ctest truncation of output)")
  16. message("")
  17. message("out='${out}'")
  18. message("")
  19. # Evaluate possible error conditions:
  20. #
  21. set(err 0)
  22. if(processor_count EQUAL 0)
  23. set(err 1)
  24. message("err 1")
  25. message("could not determine number of processors
  26. - Additional code for this platform needed in ProcessorCount.cmake?")
  27. message("")
  28. endif()
  29. if(NOT system_info_processor_count EQUAL processor_count)
  30. set(err 2)
  31. message("err 2")
  32. message("SystemInformation and ProcessorCount.cmake disagree:\n"
  33. "processor_count='${processor_count}'\n"
  34. "SystemInformation processor_count='${system_info_processor_count}'")
  35. message("")
  36. endif()
  37. if(NOT processor_count MATCHES "^[0-9]+$")
  38. set(err 3)
  39. message("err 3")
  40. message("ProcessorCount function returned a non-integer")
  41. message("")
  42. endif()
  43. if(NOT system_info_processor_count MATCHES "^[0-9]+$")
  44. set(err 4)
  45. message("err 4")
  46. message("SystemInformation ProcessorCount function returned a non-integer")
  47. message("")
  48. endif()
  49. # TODO: Make this test fail again, once all the dev work is done...
  50. #
  51. if(err)
  52. # message(FATAL_ERROR "err='${err}'")
  53. endif()