[Scons-users] MSbuild scons wrapper

Sergio Basurco sergio.b at coherentsynchro.com
Wed Apr 5 07:29:42 EDT 2017


Thanks Bill,

Seems to work. Often, doing things correctly helps

Follow up question. Can I forward the Command's result to scons? If my 
command fails I'd like to notify SCons that a build step failed. Is that 
possible?

Saludos / Best regards,

*Sergio Basurco*
Coherent Synchro

On 04/04/2017 17:21, Bill Deegan wrote:
> In the Command, put the correct targets and sources.
> -Bill
>
> On Tue, Apr 4, 2017 at 11:16 AM, Sergio Basurco 
> <sergio.b at coherentsynchro.com <mailto:sergio.b at coherentsynchro.com>> 
> wrote:
>
>     With --tree=prune I see something like:
>
>       +-build\release\lib\mycpp.lib
>       | +-"*.obj"
>       | +-net_myproject
>       .
>       .
>       .
>
>     But there's no dependency tree for 'net_myproject'. So I guess
>     you're right, how could I correctly specify the targets for my
>     external msbuild?
>
>     Saludos / Best regards,
>
>     *Sergio Basurco*
>     Coherent Synchro
>
>     On 04/04/2017 16:44, Bill Deegan wrote:
>>     Likely your issue is here:
>>
>>             netmodules.extend( env.Command( 'net_' + proj_name, [],
>>     pycommand ) )
>>
>>     unless net_+proj_name is the actual name of the library you're
>>     generating, SCons won't know about it.
>>
>>     You shouldn't need depends if you specify the targets and
>>     dependencies correctly.
>>
>>     What does the output of:
>>     scons --tree=prune look like?
>>     Does it show the proper dependencies?
>>
>>     -Bill
>>
>>     On Tue, Apr 4, 2017 at 10:18 AM, Sergio Basurco
>>     <sergio.b at coherentsynchro.com
>>     <mailto:sergio.b at coherentsynchro.com>> wrote:
>>     >
>>     > Hi Bill,
>>     >
>>     > I have a solution with cpp modules and net modules, come cpp
>>     modules depend on .net modules. Simplified I have the following:
>>     >
>>     > for cppmodule in solution:
>>     >     cpplib = env.Library(libname, objects)
>>     >     netmodules = []
>>     >     for netmodule in cppdependencies:
>>     >         proj_name = get_project_name_for_module(netmodule)
>>     >         pycommand = generate_external_msbuild_command()
>>     >         netmodules.extend( env.Command( 'net_' + proj_name, [],
>>     pycommand ) )
>>     >     env.Depends(cpplib, netmodules)
>>     >
>>     > The generate_external_msbuild_command calls an external python
>>     script that constructs a temporary .bat file and calls it via Popen.
>>     >
>>     > I find that sometimes the cpplib library is built before the
>>     .bat is called.
>>     >
>>     > Saludos / Best regards,
>>     >
>>     > Sergio Basurco
>>     > Coherent Synchro
>>     >
>>     > On 04/04/2017 16:01, Bill Deegan wrote:
>>     >
>>     > Sergio,
>>     >
>>     > Can you provide us with the logic you have in your SConstruct?
>>     > It's hard to comment on your implementation without seeing it.
>>     >
>>     > _Bill
>>     >
>>     > On Tue, Apr 4, 2017 at 7:40 AM, Sergio Basurco
>>     <sergio.b at coherentsynchro.com
>>     <mailto:sergio.b at coherentsynchro.com>> wrote:
>>     >>
>>     >> Hi all,
>>     >>
>>     >> I've setup a msbuild Command within scons, but it is not
>>     really elegant and it's giving me some trouble. What I'm doing is
>>     creating a bat file from python, then calling it as a subprocess,
>>     this bat is the one calling vcvarsall.bat and then the msbuild
>>     command.
>>     >>
>>     >> I set this Command as a dependency of some Scons node, however
>>     it seems like the .bat is ran afterwards, and my node does not
>>     find the .dll generated by msbuild.
>>     >>
>>     >> Maybe I'm looking at this the wrong way, is there any
>>     un-official way to call msbuild from scons? I know scons is meant
>>     to be a replacement, but it would really help me to be able to
>>     call msbuild for some windows-only c# projects I have. These
>>     projects have to be built before my C++ programs and I'm failing
>>     to do so via scons.
>>     >>
>>     >> Thanks!
>>     >> --
>>     >>
>>     >> Saludos / Best regards,
>>     >>
>>     >> Sergio Basurco
>>     >> Coherent Synchro
>>     >>
>>     >>
>>     >> _______________________________________________
>>     >> Scons-users mailing list
>>     >> Scons-users at scons.org <mailto:Scons-users at scons.org>
>>     >> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>     <https://pairlist4.pair.net/mailman/listinfo/scons-users>
>>     >>
>>     >
>>     >
>>     >
>>     > _______________________________________________
>>     > Scons-users mailing list
>>     > Scons-users at scons.org <mailto:Scons-users at scons.org>
>>     > https://pairlist4.pair.net/mailman/listinfo/scons-users
>>     <https://pairlist4.pair.net/mailman/listinfo/scons-users>
>>     >
>>     >
>>     >
>>     > _______________________________________________
>>     > Scons-users mailing list
>>     > Scons-users at scons.org <mailto:Scons-users at scons.org>
>>     > https://pairlist4.pair.net/mailman/listinfo/scons-users
>>     <https://pairlist4.pair.net/mailman/listinfo/scons-users>
>>     >
>>
>>
>>     _______________________________________________
>>     Scons-users mailing list
>>     Scons-users at scons.org <mailto:Scons-users at scons.org>
>>     https://pairlist4.pair.net/mailman/listinfo/scons-users
>>     <https://pairlist4.pair.net/mailman/listinfo/scons-users>
>     _______________________________________________ Scons-users
>     mailing list Scons-users at scons.org <mailto:Scons-users at scons.org>
>     https://pairlist4.pair.net/mailman/listinfo/scons-users
>     <https://pairlist4.pair.net/mailman/listinfo/scons-users> 
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20170405/9768fa4e/attachment.html>


More information about the Scons-users mailing list