Project default: <name> { Description <text> RequiredBakeVersion minimum: <major.minor.patch>, maximum: <major.minor.patch> Responsible { Person <name>, email: <adr> } # 0..n configs ExecutableConfig | LibraryConfig | CustomConfig <name>, extends: <parent(s)> { # Valid for all config types Description <text> IncludeDir <dir>, inherit: true|false, inject: front|back Set <variable>, value: <value> | cmd: <line>, env: true|false Dependency <project>, config: <name> ExternalLibrary <lib>, search: true|false UserLibrary <lib> ExternalLibrarySearchPath <path> PreSteps { Makefile <file>, lib: <lib>, target: <target>, pathTo: <paths>, default: on|off, filter: <name>, validExitCodes: <[array]> { Flags <flags> } CommandLine <line>, default: on|off, filter: <name>, validExitCodes: <[array]> } PostSteps { # Same as for PreSteps } StartupSteps { # Same as for PreSteps } ExitSteps { # Same as for PreSteps } DefaultToolchain <basedOn>, outputDir: <dir>, eclipseOrder: true|false { Compiler ASM | CPP | C, command: <cmd> { Flags <flags> Define <define> InternalDefines <file> } Archiver command: <cmd> { Flags <flags> } Linker command: <cmd> { Flags <flags> LibPrefixFlags <flags> LibPostfixFlags <flags> } InternalIncludes <file> LintPolicy <policy> Docu <cmdLine> } Toolchain outputDir: <dir> { Compiler ASM | CPP | C, command: <cmd> { Flags <flags>, add: <flags>, remove: <flags> Define <define> } Archiver command: <cmd> { Flags <flags>, add: <flags>, remove: <flags> } Linker command: <cmd> { Flags <flags>, add: <flags>, remove: <flags> LibPrefixFlags <flags>, add: <flags>, remove: <flags> LibPostfixFlags <flags>, add: <flags>, remove: <flags> } LintPolicy <policy> Docu <cmdLine> } # Valid for ExecutableConfig and LibraryConfig Files <pattern> { Flags <flags>, add: <flags>, remove: <flags> Define <define> } ExcludeFiles <pattern> ArtifactName <name> # Valid for ExecutableConfig LinkerScript <script> MapFile <name> # Valid for CustomConfig Makefile | CommandLine <name>, lib: <lib>, target: <target>, pathTo: <paths>, default: on|off, filter: <name>, validExitCodes: <[array]> { Flags <flags> } <line>, default: on|off, filter: <name>, validExitCodes: <[array]> } } |
Note
Specify the paths always relative to the current project root, but keep the variable substitution in Project.meta in mind.