CMake添加本地库

主要目录结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
- project/
- src/
- main.cpp
- utils.h
- include/
- header.h
- build/
- lib/
- lib1.c
- lib1.h
- ...
- CMakeLists.txt
- CMakeLists.txt
- ...

lib中的CMakeLists.txt添加以下内容

1
2
3
4
5
6
7
# 将 lib 文件夹中的所有 C 文件加入到变量
file(GLOB LIB_SOURCES *.c)

# 定义一个静态库或共享库(根据需要修改为 `STATIC` 或 `SHARED`)
add_library(MyLibrary STATIC ${LIB_SOURCES})
# 可选:指定包含目录(如有头文件)
target_include_directories(MyLibrary PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})

项目的CMakeLists.txt添加以下内容

1
2
add_subdirectory(lib)
target_link_libraries(${PROJECT_NAME} MyLibrary)