Я пытаюсь использовать 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})