本文整理汇总了Golang中github.com/hwaf/hwaf/hlib.Target_t.Group方法的典型用法代码示例。如果您正苦于以下问题:Golang Target_t.Group方法的具体用法?Golang Target_t.Group怎么用?Golang Target_t.Group使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/hwaf/hwaf/hlib.Target_t
的用法示例。
在下文中一共展示了Target_t.Group方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: waf_get_wscript
//.........这里部分代码省略.........
// handle 'tag' section
tgt_names := make([]string, 0, len(bld))
for k, _ := range bld {
if k != "hwaf-call" && k != "tools" && k != "env" {
tgt_names = append(tgt_names, k)
}
}
for _, n := range tgt_names {
tgt := waf_get_yaml_map(bld[n])
wtgt := hlib.Target_t{
Name: n,
KwArgs: make(map[string][]hlib.Value),
}
if v, ok := tgt["features"]; ok {
switch v := v.(type) {
case string:
tmps := strings.Split(v, " ")
for _, tmp := range tmps {
tmp = strings.Trim(tmp, " ")
if tmp != "" {
wtgt.Features = append(wtgt.Features, tmp)
}
}
case []interface{}:
for _, iv := range v {
v := iv.(string)
tmps := strings.Split(v, " ")
for _, tmp := range tmps {
tmp = strings.Trim(tmp, " ")
if tmp != "" {
wtgt.Features = append(wtgt.Features, tmp)
}
}
}
case []string:
for _, iv := range v {
tmps := strings.Split(iv, " ")
for _, tmp := range tmps {
tmp = strings.Trim(tmp, " ")
if tmp != "" {
wtgt.Features = append(wtgt.Features, tmp)
}
}
}
default:
return nil, fmt.Errorf("unknown type (%T) for target [%s] in 'build' section", v, n)
}
delete(tgt, "features")
}
if _, ok := tgt["name"]; ok {
nn := tgt["name"].(string)
if nn != wtgt.Name {
return nil, fmt.Errorf("inconsistency in target [%s] declaration: name=%q but key=%q", n, nn, wtgt.Name)
}
delete(tgt, "name")
}
if _, ok := tgt["target"]; ok {
wtgt.Target = tgt["target"].(string)
delete(tgt, "target")
}
if _, ok := tgt["group"]; ok {
wtgt.Group = tgt["group"].(string)
delete(tgt, "group")
}
cnvmap := map[string]*[]hlib.Value{
"source": &wtgt.Source,
"use": &wtgt.Use,
"defines": &wtgt.Defines,
"cflags": &wtgt.CFlags,
"cxxflags": &wtgt.CxxFlags,
"linkflags": &wtgt.LinkFlags,
"shlibflags": &wtgt.ShlibFlags,
"stlibflags": &wtgt.StlibFlags,
"rpath": &wtgt.RPath,
"includes": &wtgt.Includes,
"export_includes": &wtgt.ExportIncludes,
"install_path": &wtgt.InstallPath,
}
for k, v := range tgt {
vv := waf_gen_hvalue_from(k, v)
if dst, ok := cnvmap[k]; ok {
*dst = append(*dst, vv)
} else {
wtgt.KwArgs[k] = append(wtgt.KwArgs[k], vv)
}
}
wbld.Targets = append(wbld.Targets, wtgt)
}
}
return &wscript, err
}