我对以下一行感兴趣:
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/...