我正在使用ExternalProject_Add_Step
。我想将包含源文件和子文件夹的文件夹移动到另一个文件夹。但是 ExternalProject_Add_Step
似乎不接受“*”。
ExternalProject_Add_Step(
MonoEngine
copySource
WORKING_DIRECTORY ${MONOENGINE_DIR}
DEPENDEES createFolders
COMMAND mv MonoEngineSource/* MonoEngine
COMMENT "Moving src to MonoEngine folder"
)
它说mv:无法统计'MonoEngineSource/src/*':没有这样的文件或目录
。如果我将 * 替换为现有文件,它就可以工作。但我想移动所有文件和子文件夹。
最佳答案
您应该能够使用 CMake 的跨平台,command-line tool mode实现这一目标:
ExternalProject_Add_Step(
MonoEngine
copySource
WORKING_DIRECTORY ${MONOENGINE_DIR}
DEPENDEES createFolders
COMMAND ${CMAKE_COMMAND} -E rename MonoEngineSource MonoEngine
COMMENT "Moving src to MonoEngine folder"
)
如果目标文件夹已存在,您需要分两步执行此操作:
ExternalProject_Add_Step(
MonoEngine
copySource
WORKING_DIRECTORY ${MONOENGINE_DIR}
DEPENDEES createFolders
COMMAND ${CMAKE_COMMAND} -E copy_directory MonoEngineSource MonoEngine
COMMENT "Copying src to MonoEngine folder"
)
ExternalProject_Add_Step(
MonoEngine
removeSource
WORKING_DIRECTORY ${MONOENGINE_DIR}
DEPENDEES copySource
COMMAND ${CMAKE_COMMAND} -E remove_directory MonoEngineSource
COMMENT "Removing MonoEngineSourcefolder"
)
关于cmake - 使用ExternalProject_Add_Step 移动包含文件和子文件夹的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28991908/