add_library添加多个目录
时间: 2023-11-13 10:59:34 浏览: 320
add_library命令可以用于将多个源文件构建成一个库文件。如果您需要添加多个目录,可以按照以下方式设置INCLUDE_DIRECTORIES属性:
```
add_library(my_lib my_source_files)
target_include_directories(my_lib PRIVATE ${DIR1} ${DIR2})
```
其中,DIR1和DIR2是您想要添加的目录。target_include_directories()函数设置了与该目标库关联的头文件搜索路径,PRIVATE参数表示这些路径仅适用于my_lib库,而不会传播到my_lib目标使用的其他库或可执行文件中。
相关问题
cmake add_library时添加头文件
要在使用 `add_library` 添加库时添加头文件,可以使用 `target_include_directories` 命令。该命令会将指定目录添加到目标的头文件搜索路径中。
下面是一个示例 CMakeLists.txt 文件,其中添加了头文件目录 `include`:
```
cmake_minimum_required(VERSION 3.16)
project(MyLibrary)
add_library(MyLibrary STATIC source1.cpp source2.cpp)
target_include_directories(MyLibrary PUBLIC include)
```
在上面的示例中,`MyLibrary` 是要编译的库,`include` 是头文件目录的名称。`PUBLIC` 关键字表示这个目录将被添加到 `MyLibrary` 目标的头文件搜索路径中,并且也会被其他依赖于 `MyLibrary` 的目标所使用。
如果要添加多个头文件目录,可以将它们都作为参数传递给 `target_include_directories` 命令。例如:
```
target_include_directories(MyLibrary PUBLIC include1 include2 include3)
```
这样就会将这三个目录都添加到 `MyLibrary` 目标的头文件搜索路径中。
add_library命令
add_library命令是CMake构建系统中的一个命令,用于向项目中添加一个库。该命令可以将源文件编译成静态库或者动态库,并将其链接到项目中的其他目标。
add_library命令的基本语法如下:
```
add_library(<name> [STATIC | SHARED | MODULE]
[EXCLUDE_FROM_ALL]
source1 source2 ... sourceN)
```
其中,`<name>`是库的名称,可以自定义。`STATIC`、`SHARED`和`MODULE`是可选参数,用于指定库的类型,默认为静态库。`EXCLUDE_FROM_ALL`是可选参数,表示该库不会被默认构建。
使用add_library命令时,需要指定源文件的路径,可以是单个文件或者多个文件。CMake会根据源文件的后缀名自动判断编译器类型,并生成相应的编译规则。
例如,以下是一个使用add_library命令创建静态库的示例:
```
add_library(mylib STATIC
src1.cpp
src2.cpp
src3.cpp)
```
上述示例将会编译src1.cpp、src2.cpp和src3.cpp这三个源文件,并生成一个名为mylib的静态库。
阅读全文