Re: Mixing VariantDirs with "in-tree" build

Bill Deegan <[email protected]>
Newsgroups gmane.comp.programming.tools.scons.user
Message-ID <CAEyG4CHp6VSPkoFn20En_KqXKuzPC2ib9FcvVojZP-ax+NDNGw@mail.gmail.com>
See below

On Mon, Jan 28, 2019 at 12:33 PM Tobias Herzog <[email protected]> wrote:

> 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?
>

You're missing something.
By saying:

SConscript('A/SConscript', variant_dir='build', duplicate=0)

This is the same as:
VariantDir('build','A', duplicate=0)
SConscript('build/SConscript')

So when you're asking for B/foo from that SConscript, you're actually
asking for build/B/foo.
If you changed it to "#/A/B/foo" it would work, or "../A/B/foo"



> If I Return/Export the foo-node and use it in the Command in
> A/SConscript it works as intended.
>
>
> Thanks,
> Tobias
>
> _______________________________________________
> Scons-users mailing list
> [email protected]
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>

_______________________________________________
Scons-users mailing list
[email protected]
https://pairlist4.pair.net/mailman/listinfo/scons-users
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.