cmake - 如何在cmake中转义$?
问题描述
我有兴趣有这样的一行:
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/....
编辑2:这有效:
set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} "-Wl,-rpath=$ORIGIN")
...
/usr/bin/c++ -g -Wl,-rpath=$ORIGIN CMakeFiles/mybinary.dir/...
解决方案
推荐阅读
- sql - SQL Select - Get a count of data as a separate column error
- powershell - 通过 Powershell 使用 -- 参数运行批处理填充
- c++ - 我可以期待多线程的“现实世界”性能改进是什么?
- python - 如何区分蓝色(圆形)和其他(任意方向的矩形/多边形)类型的轮廓
- javascript - Stripe Checkout 会话将优惠券应用于一次性费用而不是订阅
- f# - 具有类型约束的泛型类上的 F# 模式匹配
- javascript - 反应:删除事件侦听器“beforeunload”不起作用
- xml - 使用 vCloud Director API“createVm”创建独立 VM
- go - 如何处理服务器上客户端的断开连接
- typescript - 我可以在 vue.js(使用打字稿)的路由器链接路径中添加变量(来自 getter 的值)吗?