本文是 cmake 使用的第二篇,主要介绍如何包含头文件。
第一篇的地址为:https://blog.csdn.net/QCZL_CC/article/details/119824696
示例的目录结构如下:
01-hello-headers/
├── CMakeLists.txt
├── include
│ └── hello.h
└── src
├── hello.c
└── main.c
CMakeLists.txt 内容如下:
# cmake 最低版本号
cmake_minimum_required(VERSION 3.5)
# 项目名称
project (hello_headers)
# 创建一个带有所有源文件的变量
set(SOURCES
src/main.c
src/hello.c
)
# 在 SOURCES 变量中设置特定文件名的另一种方法是使用 GLOB 命令通过通配符模式匹配来查找文件。对于现代 cmake 不建议这么做
# file(GLOB SOURCES "src/*.c")
# 添加具有上述源的可执行文件
add_executable(hello_headers ${SOURCES})
# 设置应包含在此目标的构建命令中的目录
# 运行 gcc 时,这些将作为 -I/directory/path/
# PROJECT_SOURCE_DIR : 当前cmake项目的源目录
# PRIVATE 标识符指定包含的范围
target_include_directories(hello_headers
PRIVATE
${PROJECT_SOURCE_DIR}/include
)
构建过程:
1:mkdir build 创建该目录的目的是为了将编译产物和源文件分离
2:cd build && cmake .. cmake 后面第一个参数应该是 CMakeLists.txt 文件所在目录。此实例中 CMakeLists.txt 在 build 目录的上一级,所以使用 cmake ..
3:make
下一篇:https://blog.csdn.net/QCZL_CC/article/details/119825333,主要介绍如何创建一个静态库并引用