github.com/metux/go-metabuild@v0.0.0-20240118143255-d9ed5ab697f9/engine/builder/gen/gresource.go (about) 1 package gen 2 3 import ( 4 "github.com/metux/go-metabuild/engine/builder/base" 5 "github.com/metux/go-metabuild/spec" 6 "github.com/metux/go-metabuild/spec/target" 7 ) 8 9 type GlibResource struct { 10 base.BaseBuilder 11 } 12 13 func (b GlibResource) JobRun() error { 14 cheader := b.RequiredEntryStr(target.KeyOutputCHeader) 15 csource := b.RequiredEntryStr(target.KeyOutputCSource) 16 gresource := b.RequiredEntryStr(target.KeyOutputGResource) 17 18 c1 := append(b.BuilderCmd(), b.RequiredSourceAbs()) 19 20 if srcdir := b.EntryStr(target.KeyIncludeDir); srcdir != "" { 21 c1 = append(c1, "--sourcedir="+srcdir) 22 } 23 24 b.ExecAbort(append(c1, "--target="+cheader, "--generate-header"), "") 25 b.ExecAbort(append(c1, "--target="+csource, "--generate-source"), "") 26 b.ExecAbort(append(c1, "--target="+gresource), "") 27 28 return nil 29 } 30 31 func MakeGlibResource(o spec.TargetObject, id string) GlibResource { 32 return GlibResource{base.BaseBuilder{o, id}} 33 }