cmake常用的内置变量

CMake 提供了一系列内置变量,这些变量可以帮助你在构建过程的各个阶段获取系统信息、控制构建行为以及配置项目。这些变量通常在 CMakeLists.txt 文件中使用,以决定不同的配置和编译选项。常用的内置变量如下:

  1. 系统信息相关
  • CMAKE_SYSTEM_NAME:操作系统的名称(如 Windows, Linux, Darwin 等)。
  • CMAKE_SYSTEM_VERSION:操作系统的版本号。
  • CMAKE_SYSTEM_PROCESSOR:当前系统的处理器架构(如 x86_64, arm, aarch64)。
  • CMAKE_HOST_SYSTEM_NAME:CMake 所在主机的操作系统名称(编译主机的系统)。
  • CMAKE_HOST_SYSTEM_VERSION:CMake 所在主机的操作系统版本。
  • CMAKE_HOST_SYSTEM_PROCESSOR:CMake 所在主机的处理器架构。
  1. 项目相关
  • CMAKE_PROJECT_NAME:顶层项目的名称。
  • CMAKE_PROJECT_VERSION:项目的版本号(需要在 CMakeLists.txt 中定义 project 时设置 VERSION)。
  • CMAKE_BINARY_DIR:构建文件的输出目录,即 CMake 生成的二进制文件所在的路径。
  • CMAKE_SOURCE_DIR:顶层 CMakeLists.txt 所在的源代码目录路径。
  • PROJECT_NAME:当前项目的名称(如果在子目录中使用时,它表示当前目录的项目名称)。
  • PROJECT_SOURCE_DIR:当前项目的源代码目录路径。
  • PROJECT_BINARY_DIR:当前项目的构建目录路径。
  1. 编译相关
  • CMAKE_C_COMPILER:C 编译器的路径。
  • CMAKE_CXX_COMPILER:C++ 编译器的路径。
  • CMAKE_C_FLAGS:C 编译器的编译选项。
  • CMAKE_CXX_FLAGS:C++ 编译器的编译选项。
  • CMAKE_EXE_LINKER_FLAGS:链接器的链接选项。
  • CMAKE_BUILD_TYPE:指定编译类型,如 Debug, Release, MinSizeRel, RelWithDebInfo。
  • CMAKE_C_STANDARD:指定 C 标准版本(如 11, 17)。
  • CMAKE_CXX_STANDARD:指定 C++ 标准版本(如 11, 14, 17, 20)
  1. 目标和输出相关
  • CMAKE_RUNTIME_OUTPUT_DIRECTORY:可执行文件的输出目录
  • CMAKE_LIBRARY_OUTPUT_DIRECTORY:共享库的输出目录
  • CMAKE_ARCHIVE_OUTPUT_DIRECTORY:静态库的输出目录
  • CMAKE_INSTALL_PREFIX:指定 make install 时安装的根目录路径
  1. 构建与安装相关
  • CMAKE_CURRENT_SOURCE_DIR:当前处理的 CMakeLists.txt 文件所在的源代码目录。
  • CMAKE_CURRENT_BINARY_DIR:当前处理的 CMakeLists.txt 文件的构建目录。
  • CMAKE_CURRENT_LIST_DIR:当前正在处理的 CMake 文件所在的路径。
  • CMAKE_COMMAND:CMake 命令的路径。
  • CMAKE_MAKE_PROGRAM:生成的构建系统中使用的 make 命令的路径(例如 make, ninja)。
  1. 其它
  • CMAKE_CL_64:判断当前使用的 Microsoft Visual C++(MSVC)编译器是否为 64 位编译器,这个变量在使用 MSVC 编译器时自动定义,且其值为True
  • CMAKE_SIZEOF_VOID_P:可以通过这个变量获取void *类型指针的大小,以此来判断系统是32位的还是64位的
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。 经导师精心指导并认可、获 98 分的毕业设计项目!【项目资源】:微信小程序。【项目说明】:聚焦计算机相关专业毕设及实战操练,可作课程设计与期末大作业,含全部源码,能直用于毕设,经严格调试,运行有保障!【项目服务】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值