【发布时间】:2012-06-27 14:29:09
【问题描述】:
目前我正在使用以下语法设置 RPATH:
SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_RPATH}:$ORIGIN/../lib")
它适用于使用 CMake 的二进制构建。 问题是它不适用于我使用 CMake 使用其自动配置脚本构建的第三方二进制文件。我正在使用以下命令进行配置:
add_custom_target(
third_party_bin ALL
COMMAND ./configure
--with-ld-opt=\"-Wl,-rpath,${CMAKE_INSTALL_RPATH}\"
--prefix=${CMAKE_INSTALL_PREFIX}
)
第三个路径configure生成的Makefile如下:
" -Wl,-rpath,':RIGIN/../lib' -lstdc++"
我想我需要正确地转义${CMAKE_INSTALL_RPATH}。
我还尝试使用以下选项:
add_custom_target(
third_party_bin ALL
COMMAND ./configure
--with-ld-opt=\"-Wl,-rpath,\$\$ORIGIN/../lib\"
--prefix=${CMAKE_INSTALL_PREFIX}
)
和
add_custom_target(
third_party_bin ALL
COMMAND ./configure
--with-ld-opt=\"-Wl,-rpath,\\$\$ORIGIN/../lib\"
--prefix=${CMAKE_INSTALL_PREFIX}
)
但没有任何效果。
转义值的正确方法是什么?
【问题讨论】: