假设我当前使用
target_link_libraries(...)
我的CMakeLists.txt中要求将库安装在我正在编译的计算机上,是否可以将这些外部库移动到项目中(例如,移至libs /文件夹中)?
答案 0 :(得分:0)
是的,但是有多种方法。
我最优选的是将这些库实际安装在libs/
目录中,以便其结构如下所示:
- libs/
-lib1/
- include
- lib
-lib2/
- include
- lib
只需将库安装在项目目录中即可完成
:# inside lib1/build
cmake .. -DCMAKE_INSTALL_PREFIX=~/my/project/libs/lib1
make install
然后,在您的项目中,可以将前缀路径设置为libs/
目录:
list(APPEND CMAKE_PREFIX_PATH "${CMAKE_SOURCE_PATH}/libs/")
# ...
find_package(lib1) # find the library in libs/lib1
其他方法是使用add_subdirectory
并将项目源包含在libs
中。您将能够使用它们定义的目标,以便可以链接到它们。