diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2016-07-22 09:23:55 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2016-07-22 09:23:55 +0200 |
commit | 4c3e451a852b537c04f5b73af23639902117b94f (patch) | |
tree | 951c165070ebf531580dcecef85976dc194e735d /tests/variable/override | |
parent | c1d08dbc56d0c8d3346deaba5d6b1946b6d711f4 (diff) |
Change default var override from 'projects and subprojects' to amalgamation
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
Diffstat (limited to 'tests/variable/override')
-rw-r--r-- | tests/variable/override/p/loader | 1 | ||||
-rwxr-xr-x | tests/variable/override/test.sh | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/tests/variable/override/p/loader b/tests/variable/override/p/loader new file mode 100644 index 0000000..f298dcc --- /dev/null +++ b/tests/variable/override/p/loader @@ -0,0 +1 @@ +include ../buildfile diff --git a/tests/variable/override/test.sh b/tests/variable/override/test.sh index e960929..a8b08b2 100755 --- a/tests/variable/override/test.sh +++ b/tests/variable/override/test.sh @@ -103,6 +103,16 @@ p/d : X p/d/t : X EOF +test v=X --buildfile loader ./p/ <<EOF +/ : +. : X +d : X +d/t : X +p : X +p/d : X +p/d/t : X +EOF + test /v=X <<EOF / : . : X |