现代CMake示例项目教程
1. 项目的目录结构及介绍
目录结构
modern-cmake-sample/
├── CMakeLists.txt
├── include/
│ └── MyLibExample/
│ └── MyLibExample.h
├── src/
│ ├── MyExample.cpp
│ └── MyLibExample.cpp
└── README.md
目录介绍
- CMakeLists.txt: 项目的根配置文件,定义了项目的基本信息和构建规则。
- include/: 包含库的头文件。
- MyLibExample/: 库的头文件目录。
- MyLibExample.h: 库的头文件。
- MyLibExample/: 库的头文件目录。
- src/: 包含项目的源文件。
- MyExample.cpp: 主应用程序的源文件。
- MyLibExample.cpp: 库的源文件。
- README.md: 项目的说明文档。
2. 项目的启动文件介绍
启动文件
- src/MyExample.cpp: 这是项目的主应用程序的源文件。它包含了程序的入口点
main
函数,负责初始化和调用库的功能。
代码示例
#include <MyLibExample/MyLibExample.h>
#include <iostream>
int main() {
std::cout << "Hello from MyExample!" << std::endl;
MyLibExample lib;
lib.printMessage();
return 0;
}
3. 项目的配置文件介绍
配置文件
- CMakeLists.txt: 这是项目的根配置文件,定义了项目的基本信息和构建规则。
配置文件内容
cmake_minimum_required(VERSION 3.15)
project(ModernCMakeExample VERSION 1.0 LANGUAGES CXX)
add_library(MyLibExample src/MyLibExample.cpp)
target_include_directories(MyLibExample PUBLIC include)
add_executable(MyExample src/MyExample.cpp)
target_link_libraries(MyExample MyLibExample)
配置文件解释
- cmake_minimum_required(VERSION 3.15): 指定所需的最低CMake版本。
- project(ModernCMakeExample VERSION 1.0 LANGUAGES CXX): 定义项目名称、版本和使用的语言。
- add_library(MyLibExample src/MyLibExample.cpp): 定义一个库目标
MyLibExample
,并指定其源文件。 - target_include_directories(MyLibExample PUBLIC include): 为库目标
MyLibExample
指定包含目录。 - add_executable(MyExample src/MyExample.cpp): 定义一个可执行目标
MyExample
,并指定其源文件。 - target_link_libraries(MyExample MyLibExample): 将库
MyLibExample
链接到可执行目标MyExample
。
以上是现代CMake示例项目的教程,涵盖了项目的目录结构、启动文件和配置文件的介绍。希望这些内容能帮助你更好地理解和使用该项目。