mirror of
https://github.com/boostorg/build.git
synced 2026-02-18 14:02:11 +00:00
Merge:
[SVN r35925]
This commit is contained in:
@@ -425,9 +425,15 @@ rule refine-from-user-input ( parent-requirements : specification *
|
||||
|
||||
if $(remove-requirements)
|
||||
{
|
||||
# Need to create property set, so that path features
|
||||
# and indirect features are translated just like they
|
||||
# are in project requirements.
|
||||
local ps = [ property-set.create-from-user-input
|
||||
$(remove-requirements) : $(project-module) $(location) ] ;
|
||||
|
||||
parent-requirements = [ property-set.create
|
||||
[ set.difference [ $(parent-requirements).raw ]
|
||||
: $(remove-requirements) ] ] ;
|
||||
: [ $(ps).raw ] ] ] ;
|
||||
specification = $(add-requirements) ;
|
||||
}
|
||||
|
||||
|
||||
@@ -78,5 +78,38 @@ t.expect_addition("sub2/bin/$toolset/debug/link-static/hello.exe")
|
||||
t.expect_addition("sub3/bin/$toolset/debug/threading-multi/hello.exe")
|
||||
t.expect_addition("sub4/bin/$toolset/debug/threading-multi/hello.exe")
|
||||
|
||||
t.rm(".")
|
||||
|
||||
# No test that path requirements can be removed as well.
|
||||
t.write("Jamroot", """
|
||||
build-project sub ;
|
||||
|
||||
""")
|
||||
|
||||
t.write("sub/Jamfile", """
|
||||
project : requirements <include>broken ;
|
||||
|
||||
exe hello : hello.cpp : -<include>broken ;
|
||||
""")
|
||||
|
||||
t.write("sub/hello.cpp", """
|
||||
#include "math.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
""")
|
||||
|
||||
t.write("sub/broken/math.h", """
|
||||
Broken
|
||||
""")
|
||||
|
||||
|
||||
t.run_build_system()
|
||||
|
||||
t.expect_addition("bin/$toolset/debug/hello.exe")
|
||||
|
||||
t.cleanup()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user