CMake项目模板使用指南
1. 项目的目录结构及介绍
cmake-project-template/
├── bin/
├── doc/
├── include/
├── lib/
├── src/
├── test/
├── .gitignore
├── .gitmodules
├── CMakeLists.txt
├── LICENSE
├── README.md
├── build-and-run
- bin/: 存放编译生成的可执行文件。
- doc/: 存放项目文档。
- include/: 存放头文件。
- lib/: 存放库文件。
- src/: 存放源代码文件。
- test/: 存放单元测试文件。
- .gitignore: Git忽略配置文件。
- .gitmodules: Git子模块配置文件。
- CMakeLists.txt: CMake配置文件。
- LICENSE: 项目许可证文件。
- README.md: 项目说明文件。
- build-and-run: 构建和运行脚本。
2. 项目的启动文件介绍
项目的启动文件是build-and-run
脚本。该脚本用于简化项目的构建和运行过程。使用方法如下:
❯ mkdir ~/workspace
❯ cd ~/workspace
❯ git clone https://github.com/kigster/cmake-project-template my-project
❯ cd my-project
❯ bash build-and-run
该脚本会执行以下操作:
- 初始化并更新Git子模块。
- 构建项目。
- 运行单元测试。
3. 项目的配置文件介绍
CMakeLists.txt
CMakeLists.txt
是CMake的主要配置文件,定义了项目的构建规则。以下是该文件的主要内容:
cmake_minimum_required(VERSION 3.10)
project(MyProject)
# 添加子目录
add_subdirectory(src)
add_subdirectory(test)
# 设置编译选项
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
# 添加可执行文件
add_executable(myproject src/main.cpp)
# 添加库文件
add_library(mylib STATIC src/mylib.cpp)
# 添加单元测试
enable_testing()
add_test(NAME MyProjectTest COMMAND myproject_test)
.gitignore
.gitignore
文件定义了Git忽略的文件和目录,避免将不必要的文件提交到版本控制系统中。
# 忽略构建目录
build/
# 忽略编译生成的文件
*.o
*.a
*.so
*.dylib
*.exe
.gitmodules
.gitmodules
文件定义了Git子模块的配置,用于管理外部依赖库。
[submodule "lib/googletest"]
path = lib/googletest
url = https://github.com/google/googletest.git
通过以上配置,项目可以方便地集成和管理外部依赖库。