Configuring a System for Nightly Builds

Follow these steps to configure a new machine to run the nightly build process.

  1. Create a new local user on the machine (for example, builduser).
    1. Make sure the user is enabled for RDC logins.
    2. Record the login credentials in credentials.txt in the GMAT network directory.
  2. Install the following software:
    • Microsoft Visual C++ 2010 Express & Windows SDK 7.1
      • follow section 2.1.3 "Recommended Installation Order" in readme.htm
      • perform the free registration for Visual C++ after installation
    • MATLAB (latest)
      • 32-bit to build 32-bit GMAT, 64-bit to build 64-bit GMAT
    • Git
    • MinGW
      • required: MSYS Basic System
    • Microsoft HTML Help Workshop
    • Doxygen
      • default components
    • Graphviz
      • install for Everyone
    • Blat
  3. Add these directories to the %Path% environment variable for builduser
    • MSBuild: C:\Windows\Microsoft.NET\Framework64\<latest>
    • HTML Help Workshop: C:\Program Files (x86)\HTML Help Workshop
    • Blat: C:\path\to\blat\full
  4. Follow the instructions in sections 3–6 of Compiling GMAT using Visual Studio 2010 (pdf) to set up the main build tree.
    1. Create the build tree in builduser's Documents folder.
    2. There is no need to create the Gmat3rdParty\pcre folder; these are not used in the nightly build.
    3. The contents of the Gmat3rdParty\f2c folder are located in GmatDevelopment\build\windows-VS2010\f2c.zip. Extract this file to the proper location. (question) (needed by Jazz plugins)
    4. Check out the internal Git repository, not the external SourceForge one. See Common Git Tasks for details.
  5. Set up the plugins:
    1. Check out the internal plugin repository into the GmatPlugins directory created in the previous step. You will need your NDC login credentials. Make sure you save your login information. You'll need to update your credentials whenever you change your NDC password.
      The repository URL is: https://gs580s-jazz.ndc.nasa.gov/svn/GMAT/trunk/code
    2. libCInterface:
      1. Open MATLAB (32-bit or 64-bit to match the build type) and run:
        mex -setup
      2. Choose Microsoft SDK 7.1.
    3. libFminconOptimizer:
      1. In Visual C++, open GmatDevelopment\build\windows-VS2010\GmatVS2010.sln, right-click libFminconOptimizer, and click Properties.
      2. Open Configuration Properties > VC++ Directories.
      3. In Include Directories, change the first path to point to <MATLAB>\extern\include on your system. Make sure it is path to the correct MATLAB platform (32-bit or 64-bit).
      4. In Library Directories, change the first path to point to <MATLAB>\extern\lib\win32\microsoft.
      5. Open Configuration Properties > C/C++ > General.
      6. In Additional Include Directories, change the first path to point to <MATLAB>\extern\include. (question)
    4. libMatlabInterface:
      1. Perform identical steps as libFminconOptimizer.
  6. Mount \\mesa-file\595\GMAT as drive Y: using your NDC login credentials and save them. You'll need to reset these whenever you change your password.
     
  7. Configure the build script:
    1. In GmatDevelopment\build\windows-VS2010\GmatBuild.cmd, change the path to MSYS at the top.
    2. In GmatDevelopment\build\windows-VS2010\Makefile, change these lines:
      1. GMAT_HOME: point to directory containing build tree (GmatDevelopment, GmatPlugins, etc.)
  8. In MSYS, navigate to GmatDevelopment\build\windows-VS2010 and run the following to make sure everything is working:

    $ make clean && make checkout && make all && make userdocs && make devdocs

    This will build GMAT, but won't put it on the network.

  9. Run GmatDevelopment\build\windows-VS2010\GmatBuild.cmd to create a build. Run GmatDevelopment\build\windows-VS2010\GmatBuildandSend.cmd to also send the build announcements.