Как избежать $ в cmake? - PullRequest
       1

Как избежать $ в cmake?

0 голосов
/ 20 декабря 2018

Меня интересует строка вроде:

add_link_options(-Wl,-rpath=$ORIGIN)

Однако в исполняемом файле $ расширяется до $$.Например,

15:19:52 Debug # readelf -a mybinary | egrep -i runpath
0x000000000000001d (RUNPATH)            Library runpath: [$$ORIGIN]

Этот эффект можно получить с помощью patchelf после сборки, но я хотел бы иметь его в самом cmake, если это возможно.

Я пробовал что-то вроде \ $,$$ и "$ ORIGIN" без везения и не могут думать ни о чем, кроме 50 ¢.

Это с cmake 3.13.1.

Редактировать: Подробный вывод cmake:

/usr/bin/c++  -g  "-Wl,-rpath=\$$ORIGIN" CMakeFiles/mybinary.dir/....

Edit2: это работает:

set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} "-Wl,-rpath=$ORIGIN")
...
/usr/bin/c++  -g  -Wl,-rpath=$ORIGIN CMakeFiles/mybinary.dir/...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...