CMake中使用file(RENAME)时如何自动创建不存在的目标目录?
CMake中移动文件/目录到未创建目标路径的解决办法
当你需要执行file(RENAME from/a/dir/some_code a/new/dir/some_code)但目标路径的a、a/new、a/new/dir均不存在时,由于file(RENAME)本身不支持自动创建目标目录,可通过以下步骤解决:
- 先使用
file(MAKE_DIRECTORY)递归创建目标路径的完整父目录:file(MAKE_DIRECTORY "a/new/dir") - 再执行
file(RENAME)完成移动操作:file(RENAME "from/a/dir/some_code" "a/new/dir/some_code")
file(MAKE_DIRECTORY)会自动创建所有不存在的层级目录,完美适配目标路径全不存在的场景,之后file(RENAME)即可正常完成文件或目录的移动。
内容的提问来源于stack exchange,提问作者bekorn
相关产品推荐
相关产品推荐

