[Scons-users] Mixing VariantDirs with "in-tree" build

Tobias Herzog pasdVn3 at gmx.de
Mon Jan 28 15:33:42 EST 2019


Hi scons users,

consider the following demo project:

+-SConsctuct
+-A
  +-SConscript
  +-B
    +-SConscript
    +-foo.src


With SConstruct:
	SConscript('A/B/SConscript')
	SConscript('A/SConscript', variant_dir='build', duplicate=0)

A/SConscript:
	Command(source='B/foo',
             	target='bar',
             	action='cat $SOURCE > $TARGET')
A/B/SConscript:
	Command(target='foo',
                source='foo.src',
                action='cat $SOURCE > $TARGET')


No I do:
> scons -Q --tree=all build/bar
scons: *** [build/bar] Source `A/B/foo' not found, needed by target
`build/bar'.
+-build/bar
  +-A/B/foo
  +-/bin/cat

and
>scons -Q --tree=all A/B/foo
cat A/B/foo.src > A/B/foo
+-A/B/foo
  +-A/B/foo.src
  +-/bin/cat


I know that this is a quite strage project setup, but nevertheless I
would expect scons to detect the depencies correct. Is this a bug, or
am I missing something?
If I Return/Export the foo-node and use it in the Command in
A/SConscript it works as intended.


Thanks,
Tobias



More information about the Scons-users mailing list