首页 > 解决方案 > 为什么 Cmake 的“ file(REMOVE_RECURSE [file1 ...]) ”不会删除具有 *.xxx.yy 扩展名的文件?

问题描述

我想从我的二进制目录中删除所有文件,下面有“.asm.js”扩展名是我的源代码

file (REMOVE
    ${CMAKE_BINARY_DIR}/dist/*.asm.js
    )

不幸的是,它无法删除扩展名为 .asm.js 的文件。有没有人可以帮助我提前谢谢

标签: cmake

解决方案


正如 CMake 文档所说:

删除给定的文件。REMOVE_RECURSE 模式将删除给定的文件和目录,也包括非空目录。如果给定文件不存在,则不会发出错误。

所以你需要做一个文件列表来发送它file(REMOVE)

为此,您可以使用:

file(GLOB MY_FILES ${CMAKE_BINARY_DIR}/dist/*.asm.js)

或者,如果您想在子目录中匹配它们:

file(GLOB_RECURSE MY_FILES ${CMAKE_BINARY_DIR}/dist/*.asm.js)

然后你可以使用你的命令:

file (REMOVE ${MY_FILES} )


推荐阅读