[Scons-users] Can SCons do this?
Francis Bolduc
fbolduc at gmail.com
Wed Jan 16 08:28:23 EST 2013
Certainly.
I'll isolate it out and publish it on the wiki.
Stay tuned.
--
Francis Bolduc, B.Sc.
On Tue, Jan 15, 2013 at 10:14 AM, Jason Swager <jswager at alohaoi.com> wrote:
> Francis,
> By chance, would you be willing to make that SCONS-to-JSON and
> JSON-to-IDE-projects code available to the community. The company I work
> for is currently in the midst of doing this and something like your code
> would be a big help.
> Thanks,
> Jason Swager
>
>
> On Tue, Jan 15, 2013 at 5:52 AM, Francis Bolduc <fbolduc at gmail.com> wrote:
>>
>> > I do prefer to develop on Windows, because Visual Studio (VS) has a nice
>> > MPI debugger. I wonder if I can use SCons to generate the
>> > project\solution
>> > files for VS, so I won't need to update both SCons script and VS
>> > project. My
>> > workfllow would be to add whatever I need to SCons, regenerate the VS
>> > project, continue to work with VS. At what extent is this supported?
>> > What
>> > about VS versions?
>> >
>> > Another example: I currently #define quite a lot of stuff for the build.
>> > Would it be possible to propagate these into the VS project as well?
>>
>> This is my situation at work. Most of our developers would not feel
>> comfortable not having an IDE, therefore we generate projects for all
>> the different IDE (MSVS2005, MSVS2008, MSVS20010, QtCreator2, XCode,
>> CppCheck, etc.) using the same informations required to build the
>> binaries from the SConscript files.
>>
>> There is some support in SCons to do project generation, but it wasn't
>> sufficient for my needs so I ended up doing project generation
>> manually myself. I use a two-pass technique that works very well.
>>
>> In the first pass, I do a normal SCons run, but with a special command
>> line option that hijacks the Program, Library and SharedLibrary
>> builders. Instead of compiling binaries, they dump all the
>> informations they have (list of include directory, list of #define,
>> list of libraries to link with, list of source files, name of binary,
>> etc.) into a JSON file.
>>
>> After that, I run a simply Python script that reads the JSON file and
>> generates the proper project files. I have one script per type of
>> projects. This allows me to have a maximum of control on what is
>> generated, especialy the build command, because I use a top-level
>> Makefile on top of SCons.
>>
>>
>>
>> > On what extent is SCons aware of compiler flags and where they are in my
>> > VS project file? So for example I want to set the warning level flag in
>> > VS
>> > (which is different from g++ or xlC) — can I do it in SCons in a way
>> > that it
>> > is propagated into my VS project file?
>> >
>> > What would happen if SCons is not aware of the mapping of my particular
>> > option to a certain element of project file? For example, the next
>> > version
>> > of VS is going to introduce a /magic flag, that I can set in some nested
>> > dusty corner of configuration GUI. I suspect, that even if I manually
>> > tell
>> > SCons to use /magic, as a compilation flag, it won't be able to set it
>> > in
>> > the VS project file: when I generate the project file with SCons and
>> > open it
>> > in VS the /magic is not going to be turned on.
>>
>> Through manual project generation you can achieve anything, but you
>> need to know everything about those project files. SCons will tell you
>> all the flags, but it's up to you to put it at the right place.
>>
>> You can also try your luck with the default project generation
>> provided with SCons. Maybe it'll work for you.
>> _______________________________________________
>> Scons-users mailing list
>> Scons-users at scons.org
>> http://four.pairlist.net/mailman/listinfo/scons-users
>
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> http://four.pairlist.net/mailman/listinfo/scons-users
>
More information about the Scons-users
mailing list