BUILD.gn中如何将指定目录下所有.c文件添加至sources
在BUILD.gn中批量添加目录下的.c文件到sources
GN 不支持直接在 sources 数组中使用 *.c 这类通配符匹配文件,你需要用 GN 内置的 glob() 函数来实现批量文件匹配。
基础用法示例
直接将通配符规则传入 glob(),再和单个文件的数组合并:
sources = [ "./fuzz_ioctl.c", ] + glob([ "./Secodefuzz/mutators/*.c", "./Secodefuzz/common/*.c", ])
扩展用法
- 递归匹配子目录:如果需要包含目标目录下所有子目录的
.c文件,使用**/*.c规则:
sources = [ "./fuzz_ioctl.c", ] + glob([ "./Secodefuzz/mutators/**/*.c", "./Secodefuzz/common/**/*.c", ])
- 排除特定文件:如果需要跳过某些文件,可通过
exclude参数指定:
sources = [ "./fuzz_ioctl.c", ] + glob( ["./Secodefuzz/mutators/*.c", "./Secodefuzz/common/*.c"], exclude = ["./Secodefuzz/mutators/skip_this.c"] )
内容的提问来源于stack exchange,提问作者Sword Destiny
相关产品推荐
相关产品推荐

