--- /dev/null
+if(NOT DEFINED PROCESSOR_COUNT)
+ # Unknown:
+ set(PROCESSOR_COUNT 0)
+
+ # Linux:
+ set(cpuinfo_file "/proc/cpuinfo")
+ if(EXISTS "${cpuinfo_file}")
+ file(STRINGS "${cpuinfo_file}" procs REGEX "^processor.: [0-9]+$")
+ list(LENGTH procs PROCESSOR_COUNT)
+ endif()
+
+ # Mac:
+ if(APPLE)
+ find_program(cmd_sys_pro "system_profiler")
+ if(cmd_sys_pro)
+ execute_process(COMMAND ${cmd_sys_pro} OUTPUT_VARIABLE info)
+ string(REGEX REPLACE "^.*Total Number Of Cores: ([0-9]+).*$" "\\1"
+ PROCESSOR_COUNT "${info}")
+ endif()
+ endif()
+
+ # Windows:
+ if(WIN32)
+ set(PROCESSOR_COUNT "$ENV{NUMBER_OF_PROCESSORS}")
+ endif()
+endif()
+
+message(STATUS "Number of core ${PROCESSOR_COUNT}")
\ No newline at end of file