我要写一个静态库cmakelist怎么写,给出代码
时间: 2023-05-31 12:06:53 浏览: 142
下面是一个简单的静态库CMakeLists.txt示例:
```
# 设置项目名称和版本号
project(mylib VERSION 1.0)
# 创建静态库
add_library(mylib STATIC
src/foo.cpp
src/bar.cpp
)
# 设置include路径
target_include_directories(mylib PUBLIC
${PROJECT_SOURCE_DIR}/include
)
# 添加编译选项
target_compile_options(mylib PRIVATE
-Wall
-Wextra
)
# 安装静态库和头文件
install(TARGETS mylib
ARCHIVE DESTINATION lib
)
install(DIRECTORY ${PROJECT_SOURCE_DIR}/include/
DESTINATION include
)
# 创建示例程序
add_executable(example
src/main.cpp
)
# 链接静态库
target_link_libraries(example PRIVATE mylib)
```
在这个示例中,静态库源文件位于`src/`目录下,头文件位于`include/`目录下。我们通过`target_include_directories`命令将`include/`目录添加到静态库的include路径中。我们还通过`target_compile_options`命令添加了一些编译选项。
最后,我们通过`install`命令将静态库和头文件安装到指定的目录中。我们还创建了一个示例程序`example`,并将其链接到我们的静态库上。
阅读全文