我正在寻找一种方法来复制目录(如果目录的内容与目标不同)。有这个 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 上运行它。
最佳答案
对于 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 documentation .
关于macos - 如果 CMake 中的目录内容已更改,如何复制目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13156015/