cmake移动目录

时间:2010-08-17 16:06:28

标签: cmake

我想知道是否有一种方法(例如命令)使用cmake 2.8将填充了图像文件的目录移动到构建目录。

提前致谢!

1 个答案:

答案 0 :(得分:4)

file()命令可以执行您想要的操作。

来自cmake手册:

The file() command also provides COPY and INSTALL signatures:

file(<COPY|INSTALL> files... DESTINATION <dir>
   [FILE_PERMISSIONS permissions...]
   [DIRECTORY_PERMISSIONS permissions...]
   [NO_SOURCE_PERMISSIONS] [USE_SOURCE_PERMISSIONS]
   [FILES_MATCHING]
   [[PATTERN <pattern> | REGEX <regex>]
   [EXCLUDE] [PERMISSIONS permissions...]] [...])

COPY签名将文件,目录和符号链接复制到目标折叠相对于当前源目录评估相对输入路径,并针对当前构建目录评估相对目标。复制会保留输入文件时间戳,并在目标中存在具有相同时间戳的文件时对其进行优化。除非给出显式权限或NO_SOURCE_PERMISSIONS,否则复制将保留输入权限(默认为USE_SOURCE_PERMISSIONS)。有关权限,PATTERN,REGEX和EXCLUDE选项的文档,请参阅install(DIRECTORY)命令。

所以你会喜欢(测试过):

file(COPY ${YOUR_SRC_IMAGE_DIR} DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/YourPreferedDestination)

要移动,您可以使用RENAME表单:

file(RENAME ${YOUR_SRC_IMAGE_DIR} ${CMAKE_CURRENT_BINARY_DIR}/PreferedDestination)

但我不确定你是否会想要这个,因为源代码将不再可用于重现构建序列,因此我试图用上面的复制命令回答。