关于问题CMAKE RPATH not working - could not find shared object file我看看如何设置CMAKE_INSTALL_RPATH
对于单个路径,但我需要它用于多个路径。我尝试使用这些,但没有成功:
SET( CMAKE_INSTALL_RPATH "/opt/my/lib;/other/lib" )
SET( CMAKE_INSTALL_RPATH "/opt/my/lib:/other/lib" )
关于问题How to set multiple RPATH directories using CMake on MacOS我看到我可以用分号设置多个路径 ;
对于一个目标,但我想为所有目标设置它,而不是为每个目标设置它。有相当于 set_target_properties
的吗?对于所有目标(包括子项目)?例如:
set_target_properties(alltargets
PROPERTIES
INSTALL_RPATH "/opt/my/lib;/other/lib"
)
最佳答案
片段:
# note: macOS is APPLE and also UNIX !
if(APPLE)
set_target_properties(foo PROPERTIES
INSTALL_RPATH "@loader_path;@loader_path/...")
elseif(UNIX)
set_target_properties(foo PROPERTIES
INSTALL_RPATH "$ORIGIN:$ORIGIN/...")
endif()
相关CMake变量:
- https://cmake.org/cmake/help/latest/variable/CMAKE_INSTALL_RPATH.html
- https://cmake.org/cmake/help/latest/prop_tgt/BUILD_WITH_INSTALL_RPATH.html
相关 CMP:
关于cmake - 如何设置 CMAKE_INSTALL_RPATH 多个目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69308217/