我找到了Cmake: How to set rpath to ${ORIGIN} with cmake,但是我的cmake没有target_link_options。
我不是在安装二进制文件,而只是在RUNTIME_OUTPUT_DIRECTORY
上“安装”它,所以我认为CMAKE_INSTALL_RPATH
不起作用。即使我按照问题中的建议尝试了SET(CMAKE_INSTALL_RPATH "$\{ORIGIN\}")
,但还是得到了
Syntax error in cmake code at
.../CMakeLists.txt:25
when parsing string
$\{ORIGIN\}
Invalid escape sequence \{
我需要设置我在Makefile中使用的rpath:
-rpath=\$$ORIGIN/lib
如何在cmake中做到这一点?
答案 0 :(得分:0)
以下对我来说适用于3.14
set(CMAKE_INSTALL_RPATH $ORIGIN)
这是Crig Scott在他的CppCon 2019演讲“针对图书馆作者的深CMake”(https://crascit.com/wp-content/uploads/2019/09/Deep-CMake-For-Library-Authors-Craig-Scott-CppCon-2019.pdf)中推荐的