我正在尝试使用ExternalProject_add()来下载/安装依赖项.它安装得很好,但我无法弄清楚如何在下载后实际链接库.
我想在刚下载的库上调用target_link_libraries(),但库的路径因系统而异.
如果这是系统依赖,我可以调用find_package() - 但是默认搜索路径上没有安装软件包.我不认为你可以在模块模式下为find_package指定搜索路径.
这是我的CMakeLists.txt片段不起作用:
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})
Run Code Online (Sandbox Code Playgroud)