aboutsummaryrefslogtreecommitdiff
path: root/tests/variable/override
AgeCommit message (Collapse)AuthorFilesLines
2022-12-02Fail if scope or target qualification in variable expansion is unknownBoris Kolpackov1-0/+2
There are three options here: we can "fall through" to an outer scope (there is always the global scope backstop; this is the old semantics, sort of), we can return NULL straight away, or we can fail. It feels like in most cases unknown scope or target is a mistake and doing anything other than failing is just making things harder to debug.
2022-10-13Switch to public/private variables modelBoris Kolpackov1-37/+37
Now unqualified variables are project-private and can be typified.
2020-02-07Drop copyright notice from source codeKaren Arutyunov2-2/+0
2019-03-14Add support for multiple variable overridesBoris Kolpackov1-0/+30
Now we can do: $ b config.cxx.coptions=-O3 config.cxx.coptions=-O0 Or even: $ b config.cxx.coptions=-O3 config.cxx.coptions+=-g
2019-03-13Cutoff append/prepend overrides that come before assignment overrideBoris Kolpackov1-0/+29
For example: $ b x+=1 x=2 x+=3 Should result in '2 3', not '1 2 3'.
2019-01-16Update copyright yearKaren Arutyunov2-2/+2
2018-09-04Rename .test/test{} to .testscript/testscript{}Boris Kolpackov1-1/+1
2018-05-19Update copyright yearKaren Arutyunov2-2/+2
2018-05-19Get rid of doc{version} and types for testscript and manifest in buildfilesKaren Arutyunov1-1/+1
2018-05-03Regularize directory target/scope-specific variable assignment syntaxBoris Kolpackov1-3/+3
2017-02-13Use variable_cache for target type/pattern-specific prepend/appendBoris Kolpackov2-0/+83
2016-12-01Move old tests to old-tests/Boris Kolpackov8-439/+0
2016-07-22Change default var override from 'projects and subprojects' to amalgamationBoris Kolpackov2-0/+11
The 'projects and subprojects' semantics resulted in some counter-intuitive behavior. For example, in a project with tests/ as a subproject if one builds one of the tests directly with a non-global override (say C++ compiler), then the main project would be built without the overrides. I this light, overriding in the whole amalgamation seems like the right thing to do. The old behavior can still be obtained with scope qualification, for example: b ./:foo=bar
2016-06-18Port to MinGWKaren Arutyunov1-4/+26
2016-04-18Add support for using value attributes in eval contextBoris Kolpackov1-1/+1
For example: if ($x == [null]) Or: if ([uint64] 01 == [uint64] 1)
2016-04-12Add support for scope-qualification of overrides, scope visibilityBoris Kolpackov1-2/+42
2016-04-06Test and fix override logicBoris Kolpackov7-0/+366