我遇到了似乎是CMake的错误。
我一直在将一个大型项目迁移到CMake,并将我的所有库安装到/dir1/lib
和/dir2/lib
。最初,二进制rPath包含两个目录并编译并运行正常。看似随机的可执行文件在其rPath中停止包括/dir1/lib
。我已经确认CMake在/dir1/lib
中找到了库,因为如果我从link_directories
中删除它,它将无法编译。
如果我将库从/dir1/lib
复制到/dir3/lib
并将前者替换为link_directories
中的后者,则/dir3/lib
将出现在rPath中,并且可执行文件将运行。
我试图找出问题所在。清除CMake构建文件和缓存没有帮助。重启没有帮助。我还创建了一个简化的测试用例,CMake根本不会为该特定目录设置rPath。
我在OSX上运行CMake 3.8.2。
是否有可以重置的全局CMake缓存或设置?