符号链接的 CMake 命令副本

CMake command copy for symlink

我有以下命令:

add_custom_command(
    TARGET Packaging POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy 
        source_file
        target_file )

有时 source_file 是符号链接。但是,复制时,复制的是引用文件而不是符号链接。

如何告诉 CMake 命令按原样复制符号链接而不取消引用它?

目前CMake中似乎还没有直接的解决方案https://gitlab.kitware.com/cmake/cmake/issues/14609

解决方法是调用 shell 脚本来解决问题。

您可以使用 linux“cp”命令和相应的开关代替内置“复制”:

add_custom_command(
    TARGET Packaging POST_BUILD
    COMMAND cp -a -u 
        source_file
        target_file )