1

如果目录的内容与目的地不同,我正在寻找一种复制目录的方法。有这个 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 上运行它。

4

1 回答 1

2

对于 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 文档

于 2012-10-31T13:15:33.270 回答