| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- #!/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)
- # Test the <implicit-dependency> is respected even if the target referred to is
- # not built itself, but only referred to by <implicit-dependency>.
- import BoostBuild
- t = BoostBuild.Tester(use_test_config=False)
- t.write("jamroot.jam", """
- make a.h : : gen-header ;
- explicit a.h ;
- exe hello : hello.cpp : <implicit-dependency>a.h ;
- import os ;
- if [ os.name ] = NT
- {
- actions gen-header
- {
- echo int i; > $(<)
- }
- }
- else
- {
- actions gen-header
- {
- echo "int i;" > $(<)
- }
- }
- """)
- t.write("hello.cpp", """
- #include "a.h"
- int main() { return i; }
- """)
- t.run_build_system()
- t.expect_addition("bin/$toolset/debug*/hello.exe")
- t.rm("bin")
- t.write("jamroot.jam", """
- make dir/a.h : : gen-header ;
- explicit dir/a.h ;
- exe hello : hello.cpp : <implicit-dependency>dir/a.h ;
- import os ;
- if [ os.name ] = NT
- {
- actions gen-header
- {
- echo int i; > $(<)
- }
- }
- else
- {
- actions gen-header
- {
- echo "int i;" > $(<)
- }
- }
- """)
- t.write("hello.cpp", """
- #include "dir/a.h"
- int main() { return i; }
- """)
- t.run_build_system()
- t.expect_addition("bin/$toolset/debug*/hello.exe")
- t.cleanup()
|