如何在cmake中设置rpath原点?

时间:2019-10-13 04:05:11

标签: cmake linker shared-libraries

我找到了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中做到这一点?

1 个答案:

答案 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)中推荐的