0
点赞
收藏
分享

微信扫一扫

【CMake】7. 常用公共变量说明和系统平台判断


CMake 示例工程代码

https://github.com/LABELNET/cmake-simple

CMake 目录相关变量见


1.变量

  • CMAKE_PROJECT_NAME 工程名称
  • CMAKE_GENERATOR 当前编译器
  • CMAKE_SIZEOF_VOID_P 架构判断
  • CMAKE_VERSION CMake 版本
  • CMAKE_HOST_WIN32 平台判断,Windows
  • CMAKE_HOST_APPLE 平台判断,MacOS
  • CMAKE_HOST_UNIX 平台判断,Linux

2.代码

CMakeLists.txt 文件中,打印各个变量

# 工程名称
message(STATUS "1.CMAKE_PROJECT_NAME : ${CMAKE_PROJECT_NAME}")
# 编译器
message(STATUS "2.CMAKE_GENERATOR : ${CMAKE_GENERATOR}")
# 架构判断, x86 or x64
message(STATUS "3.CMAKE_SIZEOF_VOID_P : ${CMAKE_SIZEOF_VOID_P}")
# CMake 版本
message(STATUS "4.CMAKE_VERSION : ${CMAKE_VERSION}")
# 检查是否 WINDOWS 平台
message(STATUS "5.CMAKE_HOST_WIN32 : ${CMAKE_HOST_WIN32}")
# 检查是否是 MacOS 平台
message(STATUS "6.CMAKE_HOST_APPLE : ${CMAKE_HOST_APPLE}")
# 检查是否是 Linux 平台
message(STATUS "7.CMAKE_HOST_UNIX : ${CMAKE_HOST_UNIX}")

输出

[cmake] -- 1.CMAKE_PROJECT_NAME : simple
[cmake] -- 2.CMAKE_GENERATOR : MinGW Makefiles
[cmake] -- 3.CMAKE_SIZEOF_VOID_P : 8
[cmake] -- 4.CMAKE_VERSION : 3.28.0-rc2
[cmake] -- 5.CMAKE_HOST_WIN32 : 1
[cmake] -- 6.CMAKE_HOST_APPLE : 
[cmake] -- 7.CMAKE_HOST_UNIX :

关于平台判断,如果是是对应平台系统,则输出1

【CMake】7. 常用公共变量说明和系统平台判断_UNIX

3.平台判断

if (CMAKE_HOST_WIN32)
    MESSAGE (STATUS "Current platform: Windows")
    # 配置环境 windows 环境
elseif (CMAKE_HOST_APPLE)
    MESSAGE (STATUS "Current platform: Mac OS X")
elseif (CMAKE_HOST_UNIX)
    MESSAGE (STATUS "Current Other platform: ${CMAKE_SYSTEM_NAME}")
endif ()


举报

相关推荐

0 条评论