Как CMake распространяет стороннюю библиотеку с помощью исполняемого сценария bin - PullRequest
0 голосов
/ 27 июня 2019

Я хочу распространять автономный двоичный скрипт с помощью cmake.

в основном это выглядит так:

Folder
  |- bin-script
  |- 3rd
      |- liblib1.so
      |- liblib2.so

Я надеюсь, что после того, как пользователь получит эту папку, скопируйте ее в любое место, затем онмогу использовать bin-скрипт напрямую, без установки каких-либо 3-х библиотек, но напрямую ссылаться на библиотеки, предоставленные в 3-й папке.

Я пытаюсь добавить каталог ссылок с помощью

set_target_properties(${LIB_NAME}-bin PROPERTIES LINK_FLAGS "-L./3rd")

, но, похоже, это не работает.

1 Ответ

1 голос
/ 27 июня 2019

RPATH содержит список путей поиска для компоновщика. Вы можете добавить к нему, как и к любому другому списку CMake:

if(APPLE)
    list(APPEND CMAKE_INSTALL_RPATH "@executable_path/3rd")
    list(APPEND CMAKE_INSTALL_RPATH "@executable_path/")
elseif(UNIX)
    list(APPEND CMAKE_INSTALL_RPATH "\$ORIGIN/3rd")
endif()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...