Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Includes status, proposed strategies. Newest entries are at the top. See also a (Windows-specific) to-do list.

July 8,2009

Windows users with Studio 2003 or later can get experience with SCons and GoGui just by installing them (SCons 1.2.0 or later; GoGui 0.9.5 or later). Check out ScienceTools directly from CVS (and tell GoGui where you put it) or check it out from within GoGui. With this set-up SCons will not make project files.

Windows alpha testers for project file support will need to obtain

  1. Studio 2008
  2. GoGui 0.9.5 or later (and a couple required libraries if you don't already have them)
  3. SCons 1.2.0.d20090223
  4. The files makeStudio.py, registerTargets.py and msvs.py in CVS. These files should be added to site_scons/site_tools under the top ScienceTools (or other container) directory.

Wiki Markup
For each package the SConscript file must be modified slightly to invoke the tool registerTargets rather than registerObjects.  registerTargets has a different interface. First of all, registerTargets makes finer distinctions between target types.  swig libraries are a category of their own, as are ROOT-using static libraries and ROOT-using shared libraries. For each category of library or executable target (e.g. static library, swig library, test app, etc.) instead of passing just a list of targets you pass in a list of pairs \[_target_, _environment_\] where _environment_ is the environment used to create the target somewhere earlier in the SConscript file. Here is an example of the changes needed for the facilities package:

Code Block
SQL
SQL

#Old form of register, using registerObjects
#progEnv.Tool('registerObjects', package = 'facilities',
#             libraries = [facilitiesLib, lib_pyFacilities],
#             testApps = [test_time, test_env, test_Util],
#             includes = listFiles(['facilities/*.h']))

#New, using registerTargets
progEnv.Tool('registerTargets', package = 'facilities',
             libraryCxts = [[facilitiesLib, libEnv]],
             swigLibraryCxts = [[lib_pyFacilities, swigEnv]],
             testAppCxts = [[test_time, progEnv], [test_env,progEnv],
                            [test_Util,progEnv]],
             includes = listFiles(['facilities/*.h']))

I have converted several ScienceTools packages in this way but have not committed the SConscript files to CVS because, up until recently, registerTargets.py was not in production. (Now it is, but the production version will not make project files since that code depends on SCons 1.2.0.d20090223.)

GoGui hints

Alpha users should go to the utility options item in the options menu to make sure the correct SCons will be used. Go also to build options and select vc9 for the compiler.

You can make use of the "Specify build target" input at the bottom of the GoGui window to build just what you need for project files. The input accepted there depends on which package is selected in the Navigator panel. For our purposes, select the top container. Then make the following targets by typing the name in the input area, followed by Enter (or click on the target icon):

  • setup This will create the file _setup.bat, used to set environment variables when Studio is invoked. (see screenshot)
  • install Installs includes, xml files, python files, etc.
  • studio Creates all project and solution files.

See instructions below (entry for June 18) on how to invoke Studio for a particular package.

June 18, 2009

The problem is not VSlauncher, at least not exclusively VSlauncher. Hard-code the path to Studio 2008 devenv as the command to be issued has the same problem: devenv shows up as a running process in the Task Manager, but doesn't put up any windows until GoGui exits. However a command like the following works:

...