install(TARGETS mylib mylib_shared EXPORT MyLibConfig ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin)中头文件路径如何制定
时间: 2023-07-28 19:07:00 浏览: 86
在使用 `install` 命令安装库时,除了将库文件安装到指定目录外,还需要将头文件一并安装到指定目录,以便其他项目可以引用这些头文件。可以使用 `install` 命令的 `FILES` 参数来安装头文件,具体方法如下:
```
# CMakeLists.txt
add_library(mylib STATIC mylib.cpp)
add_library(mylib_shared SHARED mylib.cpp)
install(TARGETS mylib mylib_shared EXPORT MyLibConfig ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin)
install(EXPORT MyLibConfig DESTINATION share/mylib/cmake)
install(FILES mylib.h DESTINATION include/mylib)
```
在上面的例子中,我们使用 `install` 命令的 `FILES` 参数来安装头文件 `mylib.h`,并将其安装到 `include/mylib` 目录下。其他项目可以使用 `#include <mylib/mylib.h>` 来引用这个头文件。
需要注意的是,`install` 命令的 `FILES` 参数可以指定多个文件,例如:
```
install(FILES mylib.h mylib2.h DESTINATION include/mylib)
```
这样就可以同时安装 `mylib.h` 和 `mylib2.h` 两个头文件到 `include/mylib` 目录下。
另外,如果库文件中使用了其他头文件,需要将这些头文件一并安装到指定目录下。可以使用 `install` 命令的 `DIRECTORY` 参数来安装目录中的所有文件,例如:
```
install(DIRECTORY include/ DESTINATION include/mylib)
```
这样就可以将 `include` 目录下的所有文件(包括子目录中的文件)安装到 `include/mylib` 目录下。
阅读全文