CMake,RPATH,$ ORIGIN和@loader_path

时间:2018-11-22 09:54:40

标签: linux macos cmake rpath

在我的CMake项目中,我构建了一堆库,这些库在运行时作为插件加载。因此,我需要设置各种RPATH,以便可以通过动态加载机制找到这些库。我还需要整个过程都可重定位,因为它是Python扩展模块的一部分,因此在构建过程中会被各种工具复制。

执行此操作的正确方法似乎是通过在Linux上使用特殊的$ORIGIN变量和在OSX上使用@loader_path以相对方式设置RPATH。好的,很好。但是仔细看

https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/RPATH-handling

似乎我必须手动执行此操作? CMake没有像${ORIGIN}这样的内置变量,或者根据操作系统扩展到正确的东西吗? (也许它甚至取决于链接器或其他什么?我不知道)。看来这是CMake应该为我解决的问题,因此我想检查自己是否没有遗漏任何东西,然后再尝试自己实施切换...

顺便说一句,我不在乎Windows,因此,有什么解决方案不适合该问题也没关系:)。

0 个答案:

没有答案