Тема: CMake прив'язка теки з ресурсами до файлу динамічної бібліотеки
Якщо треба просто прив'язати шлях до теки з ресурсами в CMake.
то можна зробити так:
target_compile_definitions(target_name PRIVATE
RESOURCES_DIR="${CMAKE_CURRENT_SOURCE_DIR}/resources"
)Але проблема в тому, що при збиранні динамічного бібліотеки (мова про Лінукс),
тобто створенні .so файлу, буде збережено абсолютний шлях з конкретної ОС всередині цього файлу.
І такий файл уже не можна буде використовувати на інших комп'ютерах.
Схожа проблема для сторонніх бібліотек, які використовуються у поточному проєкті,
вирішується за допомогою BUILD_RPATH_USE_ORIGIN TRUE та додаванням $ORIGIN
до відносних шляхів сторонніх бібліотек. Але цей $ORIGIN діє лише при читанні elf файлів
і у файлах із кодом (hpp, cpp) від нього жодної користі.
Як зробити щось схоже для теки зі звичайними ресурсами (шрифтами, текстурами і т.д.),
щоб можна було взяти .so файл покласти разом із ним у директорію теку з ресурсами
і передавати на інші машини у такому вигляді?