[Scons-users] Problems with env.Install()

William Deegan bill at baddogconsulting.com
Fri Jan 25 02:57:06 EST 2013


Michel,
On Jan 24, 2013, at 3:59 PM, Michel Lestrade <michel.lestrade at crosslight.com> wrote:


> Hi,

>

> I think the documentation is pretty clear that you can install multiple targets at the same time but I have some trouble making that work.

>

> What I am doing is building up a list of DLLs used by my test programs in environment variable and then installing those in my build folders:

>

>> env['DLLS'] = SCons.Node.NodeList()


Why do this?


>> .....

>> env.Append(DLLS=pthread[0])

>> etc .... (more DLLS added in SConscript)

>

> The list appears to be populated correctly but env.Install() only copies the last item:

>

>> for x in env['DLLS']: print 'Debug:', x.abspath

>> env.Install('scotch_dll',env['DLLS'])

>

> which produces the following output:

>

>> Debug: D:\Source\MUMPS_scons\build\pthread64\pthread64.dll

>> Debug: D:\Source\MUMPS_scons\build\scotch64\scotch_wexit64.dll

>> scons: done reading SConscript files.

>> scons: Building targets ...

>> Install file: "build\scotch64\scotch_wexit64.dll" as "build\scotch64\scotch_dll\

>> scotch_wexit64.dll"

>> scons: done building targets.

>

> Before doing this, I deleted all the DLLs in that folder so it is not simply that this single build target was missing. After scons finishes, only 1 DLL is in my scotch_dll directory instead of the expected 2. It's maddening that something so simple does not work. Even doing it the brute force way (for x in env['DLLS']: env.Install('scotch_dll',x)) produces the same behavior.

>

> As a complete newbie, am I missing something obvious ?


You need to post more of your logic to be able to help you.
-Bill


More information about the Scons-users mailing list