Skip to content

[enhancement] sources/flags glob 支持花括号交替 {a,b} #228

Description

@Sunrisepeak

现状

glob 不支持 {a,b} 交替;third_party/ffmpeg/libavcodec/{aac,bsf,hevc,opus,vvc}/** 会触发 matched-no-source 警告(这个防呆警告本身很好,准确暴露了问题👍)。

真实用例(ffmpeg-m)

FFmpeg 8.x 的 libavcodec 子目录库(aac/bsf/hevc/opus/vvc)需要同一组 per-glob flags,现状只能写 5 条重复条目:

{ glob = "third_party/ffmpeg/libavcodec/aac/**",  cflags = ["-Ithird_party/ffmpeg/libavcodec"] },
{ glob = "third_party/ffmpeg/libavcodec/bsf/**",  cflags = ["-Ithird_party/ffmpeg/libavcodec"] },
{ glob = "third_party/ffmpeg/libavcodec/hevc/**", cflags = ["-Ithird_party/ffmpeg/libavcodec"] },
{ glob = "third_party/ffmpeg/libavcodec/opus/**", cflags = ["-Ithird_party/ffmpeg/libavcodec"] },
{ glob = "third_party/ffmpeg/libavcodec/vvc/**",  cflags = ["-Ithird_party/ffmpeg/libavcodec"] },

期望

glob 语法支持 {a,b}(bash/cargo glob 生态常见);或 flags 条目的 glob 键接受数组 glob = ["...aac/**", "...bsf/**"](解析层更小的改动,零新语法风险)。

(环境:mcpp 0.0.95;来源:mcpplibs/ffmpeg-m 实现踩坑记录)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions