60 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | #!/usr/bin/python | ||
|  | 
 | ||
|  | # Copyright 2003 Vladimir Prus | ||
|  | # Distributed under the Boost Software License, Version 1.0. | ||
|  | # (See accompanying file LICENSE.txt or https://www.bfgroup.xyz/b2/LICENSE.txt) | ||
|  | 
 | ||
|  | import BoostBuild | ||
|  | 
 | ||
|  | t = BoostBuild.Tester(use_test_config=False) | ||
|  | 
 | ||
|  | t.write("jamroot.jam", """\
 | ||
|  | exe hello : hello.cpp ; | ||
|  | exe hello2 : hello.cpp ; | ||
|  | explicit hello2 ; | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.write("hello.cpp", "int main() {}\n") | ||
|  | 
 | ||
|  | t.run_build_system() | ||
|  | t.ignore("*.tds") | ||
|  | t.expect_addition(BoostBuild.List("bin/$toolset/debug*/hello") * \ | ||
|  |     [".exe", ".obj"]) | ||
|  | t.ignore_addition("bin/*/hello.rsp") | ||
|  | t.expect_nothing_more() | ||
|  | 
 | ||
|  | t.run_build_system(["hello2"]) | ||
|  | t.expect_addition("bin/$toolset/debug*/hello2.exe") | ||
|  | 
 | ||
|  | t.rm(".") | ||
|  | 
 | ||
|  | 
 | ||
|  | # Test that 'explicit' used in a helper rule applies to the current project, and | ||
|  | # not to the Jamfile where the helper rule is defined. | ||
|  | t.write("jamroot.jam", """\
 | ||
|  | rule myinstall ( name : target ) | ||
|  | { | ||
|  |     install $(name)-bin : $(target) ; | ||
|  |     explicit $(name)-bin ; | ||
|  |     alias $(name) : $(name)-bin ; | ||
|  | } | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.write("sub/a.cpp", "\n") | ||
|  | t.write("sub/jamfile.jam", "myinstall dist : a.cpp ;") | ||
|  | 
 | ||
|  | t.run_build_system(subdir="sub") | ||
|  | t.expect_addition("sub/dist-bin/a.cpp") | ||
|  | 
 | ||
|  | t.rm("sub/dist-bin") | ||
|  | 
 | ||
|  | t.write("sub/jamfile.jam", """\
 | ||
|  | myinstall dist : a.cpp ; | ||
|  | explicit dist ; | ||
|  | """)
 | ||
|  | 
 | ||
|  | t.run_build_system(subdir="sub") | ||
|  | t.expect_nothing_more() | ||
|  | 
 | ||
|  | t.cleanup() |