我正在建立一个依赖于某些提供的库的目标。我的src目录层次结构如下所示:
我使用以下CMakeLists.txt
来构建目标并将其安装在build/install
目录中:
cmake_minimum_required(VERSION 2.8.3)
project(example)
include_directories(include)
link_directories(lib)
add_executable(${PROJECT_NAME}
src/example.cpp)
target_link_libraries(${PROJECT_NAME}
curlpp)
set(CMAKE_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/install)
install(TARGETS ${PROJECT_NAME}
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
RUNTIME DESTINATION bin
)
install(FILES lib/libcurlpp.a lib/libcurlpp.so lib/libcurlpp.so.1 lib/libcurlpp.so.1.0.0 DESTINATION deps)
当我做一个简单的build
时,一切都很好,并且目标已正确链接到提供的库。但是当我执行make install
时,生成了目标,但无法链接到库:
我了解已安装目标的链接失败:install/deps
目录不在我的环境的LD_LIBRARY_PATH
中。但是cmake为正确建立直接建立的目标链接做了什么?我可以做些类似的事情来使已安装的目标正常工作吗?