Вопрос знатокам cmake

IDE, VCS и прочее

Модератор: Модераторы разделов

Ответить
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Вопрос знатокам cmake

Сообщение Bizdelnick »

Пытаюсь собрать darktable с динамической линковкой. В итоге получается, что бинарник не находит библиотеку, лежащую в /usr/lib/darktable:

Shell

$ ldd /usr/bin/darktable linux-gate.so.1 => (0xffffe000) libdarktable.so => not found libpthread.so.0 => /lib/i686/libpthread.so.0 (0xb7768000) libc.so.6 => /lib/i686/libc.so.6 (0xb75eb000) /lib/ld-linux.so.2 (0xb779b000)


Я так понимаю, ответственен за это безобразие слудующий кусок CMakeLists:

Код: Выделить всё

#
# build darktable executable
#
add_executable(darktable ${SUBSYSTEM_MACOSX} ${SUBSYSTEM_WIN32} main.c ${RESOURCE_OBJECT})
set_target_properties(darktable PROPERTIES CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
set_target_properties(darktable PROPERTIES CMAKE_INSTALL_RPATH_USE_LINK_PATH FALSE)
set_target_properties(darktable PROPERTIES INSTALL_RPATH $ORIGIN/../${LIB_INSTALL}/darktable)
set_target_properties(darktable PROPERTIES LINKER_LANGUAGE C)
target_link_libraries(darktable ${LIBS})
install(TARGETS darktable DESTINATION bin)

Однако же что тут надо исправить - никак не соображу. До чёрта этих переменных блабла_RPATH, какая за что отвечает - без поллитры не разберёшься... Подскажите, кто в теме.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Вопрос знатокам cmake

Сообщение Bizdelnick »

Внимание, правильный ответ:

Код: Выделить всё

add_executable(darktable ${SUBSYSTEM_MACOSX} ${SUBSYSTEM_WIN32} main.c ${RESOURCE_OBJECT})
set_target_properties(darktable PROPERTIES CMAKE_BUILD_WITH_INSTALL_RPATH FALSE)
set_target_properties(darktable PROPERTIES CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
set_target_properties(darktable PROPERTIES LINKER_LANGUAGE C)
target_link_libraries(darktable ${LIBS})
install(TARGETS darktable DESTINATION bin)
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ответить