我有一个使用ADD_EXECUTABLE
. 可执行文件需要(链接到)已创建的共享库也是项目的一部分。
作为最后一步,我想运行这个可执行文件作为构建过程的一部分,为构建创建一些额外的文件。
所以
ADD_EXECUTABLE(foo)
ADD_CUSTOM_COMMAND(OUTPUT out1
WORKING_DIRECTORY dir1
COMMAND foo args
...)
但是,当自定义命令运行时,它会给出错误
.../foo: error while loading shared libraries: libbar.so.1: cannot open shared object file: No such file or directory
make[2]: *** [out1] Error 127
make: *** [all] Error 2
问题是LD_LIBRARY_PATH
没有为可执行文件设置加载库
libbar.so.1
。如何以跨平台的方式在 cmake 中设置加载库设置。我不想使用 RPATH,因为它实际上将这些路径嵌入到可执行文件中,这是我不想要的。