CMake中copy_if_different的优点是什么?

q8l4jmvw  于 2023-05-22  发布在  其他
关注(0)|答案(1)|浏览(281)

CMake命令行工具支持copycopy_if_different

  • https://cmake.org/cmake/help/v3.26/manual/cmake.1.html#cmdoption-cmake-E-arg-copy

copy_if_different几乎总是比较慢,因为它必须读取源文件和目标文件,比较它们,然后在内容不相等的情况下复制。
另一方面,copy总是只执行复制部分。这比基于文件时间戳跳过副本要慢。不过,它比copy_if_different快得多。
什么时候应该使用copy,什么时候应该使用copy_if_different

8gsdolmq

8gsdolmq1#

如果复制文件的时间戳是相关的,则使用copy_if_different,否则使用copy
例如,如果您正在复制的内容在另一个自定义命令的DEPENDS参数中提到,则无条件复制这些文件也会触发另一个自定义命令的重新构建,因为复制的时间戳将更新。copy_if_different不会发生这种情况,因为如果没有更改,目标文件将不会更新。

相关问题