diff options
Diffstat (limited to 'tools/build/v2/test/lib_source_property.py')
-rw-r--r-- | tools/build/v2/test/lib_source_property.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/tools/build/v2/test/lib_source_property.py b/tools/build/v2/test/lib_source_property.py new file mode 100644 index 0000000000..2290c1fbf2 --- /dev/null +++ b/tools/build/v2/test/lib_source_property.py @@ -0,0 +1,45 @@ +#!/usr/bin/python + +# Copyright (C) Vladimir Prus 2006. +# Distributed under the Boost Software License, Version 1.0. (See +# accompanying file LICENSE_1_0.txt or copy at +# http://www.boost.org/LICENSE_1_0.txt) + +# Regression test: if a library had no explicit sources, but only <source> +# properties, it was built as if it were a searched library, and the specified +# sources were not compiled. + +import BoostBuild + +t = BoostBuild.Tester() + +t.write("jamroot.jam", """ +lib a : : <source>a.cpp ; +""") + +t.write("a.cpp", """ +#ifdef _WIN32 +__declspec(dllexport) +#endif +void foo() {} +""") + +t.run_build_system() +t.expect_addition("bin/$toolset/debug/a.obj") + +t.rm("bin") + + +# Now try with <conditional>. +t.write("jamroot.jam", """ +rule test ( properties * ) +{ + return <source>a.cpp ; +} +lib a : : <conditional>@test ; +""") + +t.run_build_system() +t.expect_addition("bin/$toolset/debug/a.obj") + +t.cleanup() |