为什么Cmake的“ file(REMOVE_RECURSE [file1 ...]])”不会删除扩展名为* .xxx.yy的文件?

时间:2018-11-28 08:44:33

标签: cmake

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

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

很遗憾,它无法删除扩展名为.asm.js的文件。 有没有人可以帮助我 预先感谢

2 个答案:

答案 0 :(得分:1)

如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} )

答案 1 :(得分:0)

如果您也要删除子目录中的所有“ asm.js”类型的文件,则可以使用以下命令

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