[Scons-users] Odd --tree output with out-of-source build
Mats Wichmann
mats at wichmann.us
Fri Mar 18 09:15:47 EDT 2022
On 3/18/22 04:36, Hartmut.Brandt at dlr.de wrote:
> Hi,
>
>
>
> I have a strange dependency problem with running at -j24 and try to
> debug this. Now I discovered an odd behaviour. I have simple setup:
...
> SConstruct:
>
> env = Environment()
>
> SConscript('sub1/SConscript', variant_dir='build', duplicate=False)
>
> SConscript:
>
> env = Environment()
>
> p = env.Program('foo', ['foo.cc', 'bar.cc'])
>
> Now when I run scons –tree=status I get:
>
> [E b ]+-.
> [E C ] +-SConstruct
> [E b ] +-build
> [ R C ] | +-sub1/SConscript
> [ R C ] | +-sub1/bar.cc
> [E B C ] | +-build/bar.o
...etc
>
> When I change the variant_dir to something outside the tree
> (/home/user/build/play):
>
> [E b C ]+-.
> [E C ] +-SConstruct
> [E b C ] +-sub1
> [E C ] +-sub1/SConscript
> [E C ] +-sub1/bar.cc
> [E C ] +-sub1/foo.cc
>
> scons: done building targets.
>
>
>
> which looks odd. Are out-of-tree builds not supported? Could not find
> such a hint in the documentation, but I could easily miss it.
Supported, but this is a matter of target selection. SCons does not by
default select targets outside the tree, so in your out-of-tree
example,nothing in the variant dir is selected for building, so there's
nothing to report on there.
https://scons.org/doc/production/HTML/scons-man.html#target_selection
More information about the Scons-users
mailing list