install(TARGETS mylib mylib_shared EXPORT MyLibTargets ARCHIVE DESTINATION lib LIBRARY DESTINATION lib RUNTIME DESTINATION bin INCLUDES DESTINATION include)中的INCLUDES参数的作用,举个例子
时间: 2023-07-31 21:11:30 浏览: 77
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
在 CMake 中,INCLUDES 参数指定安装目录中包含的头文件的路径。当你使用 INCLUDES 参数时,CMake 会在安装目录的 include 目录下创建一个子目录,用于存放你的库的头文件。
举个例子,假设你的库名为 mylib,你的源代码文件在 src 目录下,头文件在 include 目录下。在 CMakeLists.txt 中,你可以这样设置:
```
include_directories(include)
add_library(mylib ${SRC_FILES})
add_library(mylib_shared SHARED ${SRC_FILES})
install(TARGETS mylib mylib_shared
EXPORT MyLibTargets
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
RUNTIME DESTINATION bin
INCLUDES DESTINATION include/mylib
)
install(DIRECTORY include/ DESTINATION include/mylib)
```
这样,当你使用 `make install` 命令来安装你的库时,CMake 会将 mylib 的头文件安装到 `/usr/local/include/mylib` 目录下,便于用户使用。
阅读全文