CMake - 如果更改则复制目录

时间:2012-10-31 10:38:32

标签: macos copy cmake

如果目录的内容不同,我正在寻找复制目录的方法。有这个copy_if_different选项,但它仅适用于文件。我正在寻找一种递归方式。

到目前为止,这是我的代码:

ADD_CUSTOM_COMMAND(
                 TARGET ${PROJECT_NAME}
                 POST_BUILD
                 COMMAND ${CMAKE_COMMAND}
                 ARGS    -E copy_directory   "${PROJECT_SOURCE_DIR}/../folderA"  "${PROJECT_SOURCE_DIR}/release/Debug/${PROJECT_NAME}.app/Contents/"
                COMMENT "Copying Bundle Stuff"
              )

unix系统“唯一”解决方案没问题,因为我在OSX上运行它。

1 个答案:

答案 0 :(得分:1)

对于OS X,您可以使用内置命令rsync代替:

ADD_CUSTOM_COMMAND(
   TARGET ${PROJECT_NAME}
   POST_BUILD
   COMMAND rsync
   ARGS -r
      "${PROJECT_SOURCE_DIR}/../folderA/"
      "${PROJECT_SOURCE_DIR}/release/Debug/${PROJECT_NAME}.app/Contents/"
   COMMENT "Copying Bundle Stuff")

另见rsync man page