If a subproject is not required and fails during its configuration, the parent project continues, but should not include any target or state set by the failed subproject. This fix ninja still trying to build targets generated by subprojects before they fail in their configuration. The 'build' object is now per-interpreter instead of being global. Once a subproject interpreter succeed, values from its 'build' object are merged back into its parent 'build' object.pull/4454/head
parent
e4da09b8f9
commit
edccb11f01
5 changed files with 23 additions and 1 deletions
@ -0,0 +1,2 @@ |
||||
project('test broken subproject') |
||||
subproject('broken', required : false) |
@ -0,0 +1 @@ |
||||
#error This must not compile |
@ -0,0 +1,4 @@ |
||||
project('broken', 'c') |
||||
|
||||
executable('app', 'broken.c') |
||||
assert(false, 'This subproject must fail') |
Loading…
Reference in new issue