2
0

info.cmake 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. include_guard(GLOBAL)
  2. # 显示编译器信息(1)
  3. message(STATUS "CMAKE_C_COMPILER = ${CMAKE_C_COMPILER}") # 显示C编译器的路径
  4. message(STATUS "CMAKE_CXX_COMPILER = ${CMAKE_CXX_COMPILER}") # 显示CPP编译器的路径
  5. message(STATUS "CMAKE_C_FLAGS = ${CMAKE_C_FLAGS}") # 显示C编译器的选项
  6. message(STATUS "CMAKE_CXX_FLAGS = ${CMAKE_CXX_FLAGS}") # 显示C编译器的选项
  7. message(STATUS "CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}") # 当前的构建类型(若为设置则为空)
  8. # 显示CMake信息
  9. message(STATUS "CMAKE_CURRENT_SOURCE_DIR = ${CMAKE_CURRENT_SOURCE_DIR}") # 显示当前CMake文件的所在目录
  10. message(STATUS "CMAKE_BINARY_DIR = ${CMAKE_BINARY_DIR}") # 显示CMake的构建目录
  11. # 显示操作系统信息
  12. message(STATUS "CMAKE_SYSTEM_NAME = ${CMAKE_SYSTEM_NAME}")
  13. # 显示编译器信息(2)
  14. message(STATUS "CMAKE_C_COMPILER_ID = ${CMAKE_C_COMPILER_ID}")
  15. message(STATUS "CMAKE_CXX_COMPILER_ID = ${CMAKE_CXX_COMPILER_ID}")
  16. if(CMAKE_SIZEOF_VOID_P EQUAL 8)
  17. message(STATUS "Target is 64 bits")
  18. else()
  19. message(STATUS "Target is 32 bits")
  20. endif()
  21. message(STATUS "CMAKE_HOST_SYSTEM_PROCESSOR = ${CMAKE_HOST_SYSTEM_PROCESSOR}")
  22. set(PRINT_INFO ON CACHE BOOL "Print system info.") # 默认设定为 ON 即打印一次
  23. set(_print ${PRINT_INFO})
  24. if (NOT _print)
  25. return()
  26. endif()
  27. # 查询主机信息
  28. foreach(key
  29. IN ITEMS
  30. NUMBER_OF_LOGICAL_CORES
  31. NUMBER_OF_PHYSICAL_CORES
  32. TOTAL_VIRTUAL_MEMORY
  33. AVAILABLE_VIRTUAL_MEMORY
  34. TOTAL_PHYSICAL_MEMORY
  35. AVAILABLE_PHYSICAL_MEMORY
  36. IS_64BIT
  37. HAS_FPU
  38. HAS_MMX
  39. HAS_MMX_PLUS
  40. HAS_SSE
  41. HAS_SSE2
  42. HAS_SSE_FP
  43. HAS_SSE_MMX
  44. HAS_AMD_3DNOW
  45. HAS_AMD_3DNOW_PLUS
  46. HAS_IA64
  47. OS_NAME
  48. OS_RELEASE
  49. OS_VERSION
  50. OS_PLATFORM
  51. )
  52. cmake_host_system_information(RESULT re QUERY ${key})
  53. message(STATUS "cmake_host_system_information ${key} = ${re}")
  54. endforeach()
  55. set(PRINT_INFO OFF CACHE BOOL "Print system info." FORCE) # 设置 PRINT_INFO 为 OFF