CMake学习记录
学习参考:CMake菜谱(CMake Cookbook中文版)
CMake是一个跨平台的自动化建构系统,用于管理软件建构的过程。它使用与平台无关的配置文件来控制软件的编译过程。下面是一个基本的CMake示例,用于构建一个简单的项目:
# 指定CMake的最低版本
cmake_minimum_required(VERSION 3.10)
# 设置项目名称
project(Tutorial)
# 添加可执行文件
add_executable(Tutorial tutorial.cxx)
# 指定C++标准
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED True)
上面的代码片段展示了一个最基本的CMakeLists.txt文件,用于构建一个名为Tutorial的项目。这个项目包含一个名为tutorial.cxx的源代码文件,并且指定了使用C++11标准来编译这个项目。
一些常用的CMake语句:
- add_executable: 用于将源文件编译成可执行文件。
add_executable(my_executable main.cpp helper.cpp)
- add_library: 用于将源文件编译成库文件。
add_library(my_library STATIC source1.cpp source2.cpp)
- target_link_libraries: 用于将库文件链接到可执行文件。
target_link_libraries(my_executable my_library)
- include_directories: 用于添加头文件搜索路径。
include_directories(include)
- add_subdirectory: 用于向项目添加子目录。
add_subdirectory(my_subdirectory)
- find_package: 用于查找并加载外部依赖包。
find_package(Boost REQUIRED)
这些是CMake中一些常用的语句,用于配置和管理项目的构建过程。通过组合和调整这些语句,可以实现复杂的构建逻辑和依赖管理。
多用组合、少用继承
基于接口而非实现进行编程