【CMakeLists.txt】project(LibreCAD VERSION 2.2.2)
在 CMakeLists.txt 文件中,project(LibreCAD VERSION 2.2.2)
是一个重要的项目定义命令。让我详细解释它的作用:
基本语法
project(<项目名称> [VERSION <主版本>[.<次版本>[.<修订版本>[.<微调版本>]]]])
具体作用
1. 定义项目名称
- 将项目命名为 “LibreCAD”
- 这个名称会在编译过程和IDE中显示
2. 设置版本号
- 指定项目版本为 2.2.2
- 格式通常为:主版本.次版本.修订版本
3. 自动创建的变量
执行该命令后,CMake 会自动创建以下变量:
LibreCAD_SOURCE_DIR # 项目根目录路径
LibreCAD_BINARY_DIR # 构建目录路径
PROJECT_SOURCE_DIR # 项目源码目录
PROJECT_BINARY_DIR # 项目构建目录
LibreCAD_VERSION # 完整版本号 "2.2.2"
LibreCAD_VERSION_MAJOR # 主版本号 "2"
LibreCAD_VERSION_MINOR # 次版本号 "2"
LibreCAD_VERSION_PATCH # 修订版本号 "2"
实际应用示例
project(LibreCAD VERSION 2.2.2)# 在代码中访问版本信息
add_definitions(-DVERSION="${LibreCAD_VERSION}")# 生成版本头文件
configure_file("${CMAKE_SOURCE_DIR}/src/version.h.in""${CMAKE_BINARY_DIR}/src/version.h"
)# 在安装包名称中使用版本号
set(CPACK_PACKAGE_FILE_NAME "LibreCAD-${LibreCAD_VERSION}")
重要性
- 版本管理:便于跟踪软件发布版本
- 依赖管理:其他项目可以检查兼容的版本
- 打包分发:生成包含版本信息的安装包
- 代码中访问:可以在C++代码中获取版本信息用于显示
这个命令是 CMake 项目配置的基础,通常位于 CMakeLists.txt 文件的开始部分。