diff --git a/test/project-test4/Jamfile5 b/test/project-test4/Jamfile5 new file mode 100644 index 000000000..9c67cbf1f --- /dev/null +++ b/test/project-test4/Jamfile5 @@ -0,0 +1,6 @@ + +project test : requirements everything single ; + +make a.exe : a.obj lib/b.obj/release : yfc-link ; +make b.exe : a.obj : yfc-link : MACROS ; +make a.obj : a.cpp : yfc-compile ; diff --git a/test/project-test4/lib/Jamfile1 b/test/project-test4/lib/Jamfile1 new file mode 100644 index 000000000..be2c3649a --- /dev/null +++ b/test/project-test4/lib/Jamfile1 @@ -0,0 +1,2 @@ + +make b.obj : b.cpp : yfc-compile ; diff --git a/test/project_test4.py b/test/project_test4.py index e303d02c0..e9b7abc9f 100644 --- a/test/project_test4.py +++ b/test/project_test4.py @@ -90,4 +90,20 @@ t.run_build_system("rtti=on", stdout=expected, status=None) #"bin/gcc/debug/a_gcc.obj\n" #) +# Test that if we specified composite property in target reference, +# everything works OK. + +t.copy("lib/Jamfile1", "lib/Jamfile") +t.copy("Jamfile5", "Jamfile") + +t.run_build_system() + +t.expect_addition("lib/bin/gcc/release/b.obj") + +t.expect_content("bin/gcc/debug/a.exe", +"gcc/debug/include-everything\n" + +"bin/gcc/debug/a.obj lib/bin/gcc/release/b.obj\n" +) + + t.cleanup() diff --git a/v2/test/project-test4/Jamfile5 b/v2/test/project-test4/Jamfile5 new file mode 100644 index 000000000..9c67cbf1f --- /dev/null +++ b/v2/test/project-test4/Jamfile5 @@ -0,0 +1,6 @@ + +project test : requirements everything single ; + +make a.exe : a.obj lib/b.obj/release : yfc-link ; +make b.exe : a.obj : yfc-link : MACROS ; +make a.obj : a.cpp : yfc-compile ; diff --git a/v2/test/project-test4/lib/Jamfile1 b/v2/test/project-test4/lib/Jamfile1 new file mode 100644 index 000000000..be2c3649a --- /dev/null +++ b/v2/test/project-test4/lib/Jamfile1 @@ -0,0 +1,2 @@ + +make b.obj : b.cpp : yfc-compile ; diff --git a/v2/test/project_test4.py b/v2/test/project_test4.py index e303d02c0..e9b7abc9f 100644 --- a/v2/test/project_test4.py +++ b/v2/test/project_test4.py @@ -90,4 +90,20 @@ t.run_build_system("rtti=on", stdout=expected, status=None) #"bin/gcc/debug/a_gcc.obj\n" #) +# Test that if we specified composite property in target reference, +# everything works OK. + +t.copy("lib/Jamfile1", "lib/Jamfile") +t.copy("Jamfile5", "Jamfile") + +t.run_build_system() + +t.expect_addition("lib/bin/gcc/release/b.obj") + +t.expect_content("bin/gcc/debug/a.exe", +"gcc/debug/include-everything\n" + +"bin/gcc/debug/a.obj lib/bin/gcc/release/b.obj\n" +) + + t.cleanup()