在使用CMake安装期间,在不同文件夹中创建指向库的符号链接

在使用CMake安装期间,在不同文件夹中创建指向库的符号链接,cmake,Cmake,在我的项目中,我需要在lib/中安装我的库,并在plugin/中创建指向它们的符号链接。我目前正在这样做: install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_INSTALL_PREFIX}/lib/libMyLib.so ${CMAKE_INSTALL_PREFIX}/plugin/lib") 这是可行的,但是如果我使用-DCMAKE\u INSTALL\u PR

在我的项目中,我需要在
lib/
中安装我的库,并在
plugin/
中创建指向它们的符号链接。我目前正在这样做:

install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${CMAKE_INSTALL_PREFIX}/lib/libMyLib.so ${CMAKE_INSTALL_PREFIX}/plugin/lib")
这是可行的,但是如果我使用
-DCMAKE\u INSTALL\u PREFIX=/tmp/prefix1
配置cmake运行,然后我只想通过调用
cmake--INSTALL在另一个文件夹中安装一次--prefix/tmp/prefix2
然后我会得到错误,因为符号链接是参照标准安装前缀创建的,即
/tmp/prefix2

所以我的问题是:有没有一种方法可以在安装过程中创建自定义符号链接,同时考虑到实际的安装前缀?
提前感谢您的提示。

不要在配置端展开
CMAKE\u INSTALL\u PREFIX
,而是在执行时展开它:

install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \${CMAKE_INSTALL_PREFIX}/lib/libMyLib.so \${CMAKE_INSTALL_PREFIX}/plugin/lib)")

只是猜测-会
install(code….\${CMAKE\u install\u PREFIX}.
work?很有魅力!非常感谢@KamilCuk。如果你花时间写一个答案,我会将其标记为已接受。