【发布时间】:2011-09-15 03:33:34
【问题描述】:
我正在尝试使用 ExternalProject_add() 下载/安装依赖项。它安装得很好,但我不知道下载后如何实际链接库。
我想在刚刚下载的库上调用 target_link_libraries(),但是库的路径会因系统而异。
如果这是系统依赖项,我可以调用 find_package() - 但这些包并未安装在默认搜索路径上。我认为您不能在模块模式下为 find_package 指定搜索路径。
这是我的 CMakeLists.txt 的一个 sn-p,它不起作用:
ExternalProject_Add(
protobuf
URL http://protobuf.googlecode.com/files/protobuf-2.4.1.tar.gz
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=<INSTALL_DIR>
PREFIX ${MYPROJ_SOURCE_DIR}/dependencies
)
find_package(protobuf REQUIRED)
set(LIBS ${LIBS} ${PROTOBUF_LIBRARIES})
target_link_libraries (mybinary ${LIBS})
【问题讨论】: