给一个CMakeLists例子说明
时间: 2024-07-17 13:00:54 浏览: 57
CMake是一个跨平台的自动化构建系统,用于管理C、C++和其他语言项目的构建过程。CMakeLists.txt文件是项目的核心,它包含了构建配置和依赖信息。下面是一个简单的CMakeLists.txt的例子:
```cmake
# 首先定义项目名称和版本号
project(MyProject VERSION 1.0.0)
# 设置源代码目录和目标目录
set(CMAKE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
# 添加C++源文件
add_executable(MyApp main.cpp function.cpp) # 假设main.cpp和function.cpp是源文件
# 引入FindPackage来查找并链接外部库,例如Boost
find_package(Boost REQUIRED COMPONENTS filesystem)
target_link_libraries(MyApp Boost::filesystem)
# 显示编译选项
message("Compiling with CXXFLAGS: " $<TARGET_PROPERTY:MyApp, COMPILE_FLAGS>)
# 定义测试
add_test(MyAppTest main.cpp test_function.cpp)
```
在这个例子中:
- `project()`声明了项目的基本信息。
- `add_executable()`添加了一个可执行程序,包括指定的源文件。
- `find_package()`用于查找外部库并将其链接到项目。
- `target_link_libraries()`将找到的Boost::filesystem库连接到MyApp目标上。
- `message()`用于显示编译时使用的C++编译器标志。
- `add_test()`为项目创建了一个测试。