diff options
Diffstat (limited to 'src/boost/tools/build/test/lib_source_property.py')
-rw-r--r-- | src/boost/tools/build/test/lib_source_property.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/src/boost/tools/build/test/lib_source_property.py b/src/boost/tools/build/test/lib_source_property.py new file mode 100644 index 000000000..5cb36d3bd --- /dev/null +++ b/src/boost/tools/build/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.txt or copy at +# https://www.bfgroup.xyz/b2/LICENSE.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(use_test_config=False) + +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() |