Есть ли способ указать путь к общей библиотеке из CMakeLists.txt?
Я хочу сделать исполняемый файл, который использует OpenCV, но я не хочу, чтобы конечный пользователь установил OpenCV. Вместо этого я хотел бы доставить папку, содержащую мой исполняемый файл и необходимые ему общие библиотеки. Конечная структура должна быть что-то вроде
Доставка
В конце MyApp должен искать общие библиотеки в папке OpenCV.
Я пытался использовать информацию из https://cmake.org/Wiki/CMake_RPATH_handling но почему-то я не понимаю, что мне действительно нужно сделать, чтобы достичь того, чего я хочу.
Я пытался установить CMAKE_INSTALL_RPATH в @loader_path или @executable_path, но не вижу никаких изменений. Он по-прежнему ищет библиотеки opencv в папке / lib.
Запуск otool -L MyApp приводит к:
lib / libopencv_imgproc.3.1.dylib (совместимость версия 3.1.0, текущая версия 3.1.0)
lib / libopencv_imgcodecs.3.1.dylib (совместимость версия 3.1.0, текущая версия 3.1.0)
lib / libopencv_highgui.3.1.dylib (совместимость версия 3.1.0, текущая версия 3.1.0)
lib / libopencv_core.3.1.dylib (совместимость версия 3.1.0, текущая версия 3.1.0)
/usr/lib/libc++.1.dylib (совместимость версия 1.0.0, текущая версия 120.1.0)
/usr/lib/libSystem.B.dylib (совместимость версия 1.0.0, текущая версия 1226.10.1)
Задача ещё не решена.
Других решений пока нет …