CMake - связывание с библиотекой, загруженной из ExternalProject_add ()

Я пытаюсь использовать 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})
46
задан RAM 12 August 2018 в 13:02
поделиться