一. 简介
前面一篇文章学习了 CMakeLists.txt语法中的 部分常量变量,具体学习提供信息的变量,文章如下:
CMakeLists.txt语法规则:部分常用变量说明一-CSDN博客
本文继续学习(提供信息的)部分常量变量。
二. CMakeLists.txt语法规则:部分常用变量说明
本文继续学习(提供信息的)一些常用命令。
1. CMAKE_CURRENT_SOURCE_DIR 和 CMAKE_CURRENT_BINARY_DIR
指的是当前源码的路径以及当前源码的 BINARY_DIR,通过示例来看看,譬如工程目录结构如下所示:
顶层
CMakeLists.txt
文件通过
add_subdirectory
加载子目录
src
下的
CMakeLists.txt
,
src
目录下
CMakeLists.txt
文件内容如下所示:
message(${PROJECT_SOURCE_DIR})
message(${PROJECT_BINARY_DIR})
message(${CMAKE_CURRENT_SOURCE_DIR})
message(${CMAKE_CURRENT_BINARY_DIR})
通过 message 将这些变量打印出来,对比看看,进入到 build 目录下,执行 cmake ..命令:
2. CMAKE_VERSION、CMAKE_MAJOR_VERSION 和 CMAKE_MINOR_VERSION
记录 cmake 的版本号,如下:
# CMakeLists.txt
message(${CMAKE_VERSION})
message(${CMAKE_MAJOR_VERSION})
message(${CMAKE_MINOR_VERSION})
打印信息如下:
3. PROJECT_VERSION、PROJECT_VERSION_MAJOR 和 PROJECT_VERSION_MINOR
记录工程的版本号,其实可以给工程设置一个版本号,通过
project()
命令进行设置,如下:
# CMakeLists.txt
cmake_minimum_required("VERSION" "3.5")
project(HELLO VERSION 1.1.0) #设置工程版本号为 1.1.0
# 打印
message(${PROJECT_VERSION})
message(${PROJECT_VERSION_MAJOR})
message(${PROJECT_VERSION_MINOR})
进入到
build
目录下,执行 "
cmake
.."命令,
打印信息如下:
4. CMAKE_PROJECT_NAME 和 PROJECT_NAME
这俩是等价的,记录了工程的名字:
# CMakeLists.txt
cmake_minimum_required("VERSION" "3.5")
project(HELLO VERSION 1.1.0) #设置工程版本号为 1.1.0
# 打印工程名字
message(${CMAKE_PROJECT_NAME})
message(${PROJECT_NAME})
进入到 build 目录下,执行 "cmake .."命令,打印如下: