# present in different places are not confused between # each other, and with top-level targets. t.write("Jamroot", """ project : requirements <link>static ; exe a : a.cpp [ lib helper : helper.cpp ] ; exe a2 : a.cpp [ lib helper : helper.cpp ] ; """) t.run_build_system() t.expect_addition("bin/$toolset/debug/link-static/a.exe") t.expect_addition("bin/$toolset/debug/link-static/a__helper.lib") t.expect_addition("bin/$toolset/debug/link-static/a2__helper.lib") # Check that the 'alias' target does not change name of # inline targets, and that inline targets are explicit. t.write("Jamroot", """ project : requirements <link>static ; alias a : [ lib helper : helper.cpp ] ; explicit a ; """) t.rm("bin") t.run_build_system() t.expect_nothing_more() t.run_build_system("a") t.expect_addition("bin/$toolset/debug/link-static/helper.lib") t.cleanup()
alias src : s.cpp ; exe hello : hello.cpp src ; """) t.write("a.cpp", "int main() { return 0; }\n") t.copy("a.cpp", "b.cpp") t.copy("a.cpp", "c.cpp") t.copy("a.cpp", "hello.cpp") t.write("s.cpp", "") # Check that targets to which "bin1" refers are updated, # and only those. t.run_build_system("bin1") t.ignore("*.tds") t.expect_addition(List("bin/$toolset/debug/") * "a.exe a.obj") t.expect_nothing_more() # Try again with "bin2" t.run_build_system("bin2") t.ignore("*.tds") t.expect_addition(List("bin/$toolset/debug/") * "b.exe b.obj") t.expect_nothing_more() # Try building everything, making sure 'hello' target is # created t.run_build_system() t.ignore("*.tds") t.expect_addition("bin/$toolset/debug/hello.exe") t.cleanup()