[Scons-users] problem copying files to variant directory

Jean-Baptiste Lab jeanbaptiste.lab at gmail.com
Sat Mar 11 11:41:11 EST 2017


The issue is that you are installing the oneA.h and oneB.h headers in
the build directory of mods/one in the *same* place SCons would copy
them over if you had "duplicate=True"

I'm guessing you want to put the headers of both "one" and "two" in
common one place ?
If so, change your Install() calls from:

env.Install("include", incls)

to:

env.Install("<an absolute path not ending up being the path where SCons
would install stuff>", incls)

or, for a shorter, working example:

env.Install("#include", incls)

(that would install the headers in a new "include" directory at the same
level as your SConstruct).

Hope this helps,

JB
On 2017-03-11 17:24, Mark Diekhans wrote:
> Hi all,
>
> I am building a number of modules with duplicate=False, wanting
> to copy only a selected set of files to build to be shared by
> other modules.
>
> With the directory structure with
>      - sconscript
>        somedir/include/
>
> the include files can be explicitly copied to the variant directory (module two in
> the below example).
>
> However with the directory structure with
>      - sconscript
>        include/
>
> a circular dependency is generated (module one in
> the example):
>
>     scons: *** Found dependency cycle(s):
>       build/one/include/oneA.h -> build/one/include/oneA.h
>       build/one/include/oneB.h -> build/one/include/oneB.h
>
> This happens using either Install or Copy.
>
> Example is here:
>
>    http://hgwdev.soe.ucsc.edu/~markd/scons/installHeaderProblem.tar.gz
>
> I suspect the best approach is to allow scons to copy everything, however
> I am curious is causing this problem.
>
> Thank you,
> Mark
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users





More information about the Scons-users mailing list