info.cmake 1.9 KB

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