Documentation
¶
Index ¶
Constants ¶
View Source
const ( GeneratorNinja = "ninja" GeneratorQobs = "qobs" GeneratorVS2022 = "vs2022" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Builder ¶
type Builder struct {
// contains filtered or unexported fields
}
func NewBuilderInDirectory ¶
type Config ¶
type Config struct {
Package PackageSection `toml:"package"`
Target TargetSection `toml:"target"`
Dependencies map[string]Dependency `toml:"dependencies"`
Profile map[string]ProfileSection `toml:"profile"`
Features FeaturesSection `toml:"features"`
// contains filtered or unexported fields
}
func ParseConfig ¶
func ParseConfigFromFile ¶
ParseConfigFromFile parses and validates a config file from a filepath
func (Config) RunBuildScript ¶
type ConfigEnv ¶
type ConfigEnv struct {
TargetOS string `expr:"target_os"`
TargetArch string `expr:"target_arch"`
Environ map[string]string `expr:"environ"`
Features map[string]bool `expr:"-"`
// contains filtered or unexported fields
}
func NewConfigEnv ¶
type Dependency ¶
type Dependency struct {
Source string `toml:"dep"`
DefaultFeatures bool `toml:"default-features"`
Features []string `toml:"features"`
}
func (*Dependency) UnmarshalTOML ¶
func (d *Dependency) UnmarshalTOML(v any) error
type FeaturesSection ¶
FeaturesSection defines the [features] section
func (FeaturesSection) ResolveFeatures ¶
type Package ¶
Package represents a single component (root package or dependency) in the build graph
type PackageSection ¶
type PackageSection struct {
Name string `toml:"name"`
Description string `toml:"description"`
Authors []string `toml:"authors"`
Build string `toml:"build"`
}
PackageSection defines the [package] section
type ProfileSection ¶
type ProfileSection struct {
OptLevel intOrString `toml:"opt-level"`
}
ProfileSection defines the [profile.*] section
type TargetSection ¶
type TargetSection struct {
Lib bool `toml:"lib"`
HeaderOnly bool `toml:"header-only"`
Sources []string `toml:"sources"`
Headers []string `toml:"headers"`
Defines map[string]string `toml:"defines"`
Links []string `toml:"links"`
Cflags []string `toml:"cflags"`
}
TargetSection defines the [target(.*)] section
Click to show internal directories.
Click to hide internal directories.