Subversion Repositories gelsvn

Rev

Rev 288 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

// $Id: README_MSVC 437 2009-02-25 17:32:00Z awk $
//
Building instructions for GEL under Visual Studio 7.1 and 8 (2003 and 2005)

1. Project configuration

We use MPC to maintain .sln and .vcproj files, since the format of these files changes with each new version of Visual studio. The average GEL-user need not bother with this, since .bat files have been created to ease the use. 

More info on MPC can be found on:
http://www.ociweb.com/products/mpc

2. Subsetting

The use of MPC allows relatively easy creation of subsets of GEL. An example subset is created using MPC and the Perl script makefiles/CGLA.pl which deletes all non-CGLA source code from GEL.

3. Build Configurations

Each project contain four configurations: Debug, Release, Install_Debug and Install. Debug and Release have the usual functionality, while Install_Debug and Install are special:

We assume, that once GEL is installed, it should be used without adding the source and header files to the particular project. Therefore we install GEL in an outside directory defined by the environment variables GEL_INCLUDE, GEL_LIB and GEL_BIN. In the configuration, this is done by setting the Target Directory to $(GEL_LIB), and, as a post-build event, all header files are copied to $(GEL_INCLUDE). This is done by the the Install_Debug and Install build configurations

The environment variables should be the paths where all 3rd party lib and
header files are stored (like /usr/local/ on a *NIX system) 

4. Runtime checks: _SECURE_SCL and _HAS_ITERATOR_DEBUGGING

Due to legacy code in GEL, these runtime checks have to be disabled.  This
means that when you create a new project in Visual Studio that you intend to
use with GEL, you *must* also define _SECURE_SCL=0 and
_HAS_ITERATOR_DEBUGGING=0.  Failure to do so will result in random crashes.