В моем проекте CMake я собираю несколько библиотек, которые загружаются во время выполнения в виде плагинов.Поэтому мне нужно установить различные RPATH, чтобы эти библиотеки можно было найти с помощью механизма динамической загрузки.Мне также нужно, чтобы все это было перемещаемым, потому что оно является частью модуля расширения Python и поэтому копируется различными инструментами в процессе сборки.
Кажется, что правильный способ сделать это - установитьRPATH относительным образом с использованием специальной переменной $ORIGIN
в Linux и @loader_path
в OSX.Хорошо, круто, все хорошо.Но, просматривая
https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling
, кажется, что я должен сделать это вручную?В CMake нет встроенной переменной типа ${ORIGIN}
или чего-то, что расширяется до нужной вещи в зависимости от ОС?(а может даже он меняется в зависимости от компоновщика или еще чего? понятия не имею).Похоже, что это именно то, что CMake должен выяснить для меня, поэтому я хочу проверить, что я что-то не пропустил, прежде чем я попытаюсь осуществить переключение самостоятельно ...
Кстати, я нене заботится о Windows, поэтому не имеет значения, есть ли какое-то решение, которое не работает для этого:).