【发布时间】:2023-01-08 02:18:15
【问题描述】:
我怎样才能让cmake递归删除目录,相当于rm -rf?
我尝试使用 file(REMOVE_RECURSE ,这听起来是对的,但我发现如果 test 为空或包含文件或空目录,file(REMOVE_RECURSE test/) 将删除名为 test 的目录。但是,如果 test 包含另一个包含文件的目录,则不会删除任何内容 - 它会被静默忽略。
cmake version 3.18.4
【问题讨论】:
-
嗯。此行为似乎与文档不一致。我在 cmake 3.24 上,在源目录中的文件夹
a/b/c中创建了一个文件d,并且可以执行file(REMOVE_RECURSE a),它将删除所有 a、b、c 和 d。如果我在a之后添加尾部斜杠,如a/,它也会执行此操作。你能做一个最小的可重现的例子吗?