如何编写基本的CMakeLists.txt内容?
时间: 2024-09-15 21:14:42 浏览: 36
C++版本使用CMakeLists.txt编译(同目录多个源文件)可执行文件
CMakeLists.txt是一个文本文件,用于描述C/C++项目的构建配置信息。以下是一个基本的CMakeLists.txt文件的内容概述:
```cmake
# 首先指定项目名称
project(MyProject)
# 定义源目录和二进制目录
set(CMAKE_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(CMAKE_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
# 添加C++源文件夹
add_subdirectory(src)
# 如果有库或可执行文件,可以添加这里
# 例如创建静态库
if (BUILD_STATIC_LIB)
add_library(MyLib STATIC ${MY_LIB_SOURCES})
endif()
# 创建可执行文件
add_executable(MyApp main.cpp)
# 设置链接依赖
target_link_libraries(MyApp MyLib)
# 编译选项
include(CheckCXXCompilerFlag)
check_cxx_compiler_flag("-std=c++17" CXX_SUPPORTS_CXX17)
if (CXX_SUPPORTS_CXX17)
set(CMAKE_CXX_STANDARD 17)
else()
message(WARNING "Your compiler does not support C++17.")
endif()
# 清理规则
add_custom_target(clean
COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_BINARY_DIR}
)
```
这个示例包含了设置基础结构、添加源文件、构建目标(如库和可执行程序)、检查编译器支持的标准以及其他常见的构建任务。当你在终端中运行`cmake`并随后的`make`命令时,CMake会依据这个文件自动构建你的项目。
阅读全文