变量也是 cmake 中的一个重头戏,cmake 提供了很多内置变量,每一个变量都有它自己的含义,通过这个链接地址cmake-variables(7) — CMake 3.5.2 Documentation可以查询到所有的内置变量及其相应的介绍,如下所示:
在这一份文档中,对变量进行分类,分为:提供信息的变量、改变行为的变量、描述系统的变量、控制编译的变量等等,笔者也按照这个分类给大家介绍一些基本、常用的变量。
提供信息的变量
顾名思义,这种变量可以提供某种信息,既然如此,那么我们通常只需要读取变量即可,而不需要对变量进行修改:
变量 | 说明 |
PROJECT_SOURCE_DIR | 工程顶层目录,也就是顶层 CMakeLists.txt 源码所在目录 |
PROJECT_BINARY_DIR | 工程 BINARY_DIR , 也就是顶层 CMakeLists.txt 源码的 BINARY_DIR |
CMAKE_SOURCE_DIR | 与 PROJECT_SOURCE_DIR 等价 |
CMAKE_BINARY_DIR | 与 PROJECT_BINARY_DIR 等价 |
CMAKE_CURRENT_SOURCE_DIR | 当前源码所在路径 |
CMAKE_CURRENT_BINARY_DIR | 当前源码的 BINARY_DIR |
CMAKE_MAJOR_VERSION | cmake 的主版本号 |
CMAKE_MINOR_VERSION | cmake 的次版本号 |
CMAKE_VERSION | cmake 的版本号(主+次+修订) |
PROJECT_VERSION_MAJOR | 工程的主版本号 |
PROJECT_VERSION_MINOR | 工程的次版本号 |
PROJECT_VERSION | 工程的版本号</ |