Versions Compared


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


Table 1 describes all software dependencies for GMAT.  The <GMAT>/depends folder contains scripts to automatically download and configure the core GMAT dependencies.

Table 1
Table 1
Table 1. GMAT Dependencies

NameVersionUsed in GMATDownload
CSPICEN0065Core DependencyConfigure Script

Core Dependency 

Configure Script
Xerces3.1.4Core DependencyConfigure Script
MATLABR2015a+CInterface Plugin
MatlabInterface Plugin 
Python3.4, 3.5PythonInterface PluginMac, Windows
Linux (Package Manager) 


The <GMAT>/depends folder contains scripts to automatically download and configure the core GMAT dependencies.


  • Windows: Visual Studio 2010 or 2013 (Express or Paid versions). If using VS2010 Express, you will need the Microsoft 7.1 SDK. 
  • Mac: XCode tools (preferably v7+), with the command line developer tools (GCC  4.8.5 or greater)
  • Linux: gcc GCC compiler tools (GCC  4.8.5 or greater)

Figure 2. <GMAT>/depends folder layout after dependency configuration


  • Run on Mac/Linux by name from the Terminal. Run configure.bat on Windows by double-clicking or running it from the Command Prompt.
  • On Windows you will be prompted to select 32-vs-64 bit dependencies and a VisualStudio version. Choose according to your VisualStudio installation. On Mac/Linux these choices are currently auto-selected based on the system architecture.
  • The resulting <GMAT>/depends folder structure should look like Figure 2.

  Download optional GMAT dependencies.

  • See Table 1 for dependency download links.
  • For Python on Windows, select the option to add to system PATH. The equivalent option on Mac (Shell Profile Updater) is selected by default.


  • All Operating Systems: CMake (Minimum version 3.5.2)
  • Linux: libgl1-mesa-dev, libglu1-mesa-dev, libgtk-3-dev (or libgtk2.0-dev), tcsh (or csh)
  • Optional: MATLAB (if building MatlabInterface or CInterface plugins).
    On MacOS, the following must be done in Matlab once to initialize its internal compiler:
    • Launch Matlab, run the command: mex --setup

    • If Matlab gives a "No supported compiler or SDK was found" error, then a patch to Matlab must be applied. This is a known incompatibility between Matlab R2015a/b and XCode 7. The patch and instructions to apply it can be found here on the MathWorks website. This problem with Matlab is documented on the GMAT Bugtracker Issue 5634.
  • Optional: Python


  1. Enter the full path to the <GMAT> cloned repository on your computer
  2. Enter the full path to the folder where the GMAT build system should be placed
    1. CMake produces out-of-source builds. It is recommended to use <GMAT>/build/<OS>-cmakebuild for this value.
  3. Click "Configure"
    1. CMake may ask for permission to create the folder you specified in Step 2 ("Where to build the binaries")
    2. CMake will ask you to choose a generator (see Figure 4). See the CMake Generator webpage for an explanation of available generators.
      Recommended generators are:
      1. Mac: Unix Makefiles (although XCode has also been observed to work)
      2. Linux: Unix Makefiles
      3. Windows: Visual Studio (note e.g. "Visual Studio 12 2013" is 32-bit, whereas "Visual Studio 12 2013 x64" is 64-bit)

        Figure 4. Choosing a generator in CMake

        CMake choose generator

    3. CMake will start the configuration process, after which the Variable List and Configure Results sections (Figure 3 sections 4a and 4b) will be populated:

      Figure 5. Output of CMake Configure

      CMake initial configure
  4. Use the Configure results output box (Figure 3 section 4a) to change variables in the CMake variable list (Figure 3 section 4b) as follows:

    1. Always start at the top of the configure results output box and correct errors one-by-one
    2. For each error: change the appropriate CMake variable, re-configure, confirm the error was fixed (in the results output box), then repeat for next error
    3. In addition to errors, there are several CMake variables that allow you to control how the build system configures GMAT:

      CMake Variable (Group)DescriptionAssociated CMake Error
      CSPICE_DIR (Ungrouped)Path to CSPICE root directory
      (containing include/, lib/, etc.) 
      CSPICE NOT FOUND (make sure to run depends script from Step 1) 
      F2C_DIR (Ungrouped)Path to F2C root directory
      (containing f2c.h) 
      Note: this should generally be CSPICE_DIR/include
      F2C NOT FOUND (make sure to run depends
      script from Step 1) 
      CMAKE_BUILD_TYPE (CMAKE)On makefile systems, this specifies the desired build type
      On VisualStudio/XCode systems, this specifies all possible build types
      Valid values: Release, Debug, RelWithDebInfo, MinSizeRel
      Note: On makefile systems, you should create a separate out-of-source build folder for each desired build type (Figure 3 box 2).
      (e.g. cmakebuild-release or cmakebuild-debug)
      CMAKE_INSTALL_PREFIX (CMAKE)Location to install GMAT when doing make install
      or building the VisualStudio->INSTALL project  Note: This is autofilled to <GMAT>/GMAT-<release>-<OS>-<BitType> for convenience.

      Full path to the top-level GMAT Proprietary Plugins code/ folder.

      (folder that contains CMakeLists.txt) This will be automatically found if you name it gmatinternal-git and place it next to the main <GMAT> repository folder.

      Matlab_ROOT_DIR (Matlab)Path to MATLAB root directory
      (on Mac, this is the path to
      Matlab NOT FOUND (make sure MATLAB
      is installed) 
      PLUGIN_XXX (PLUGIN)Whether to build a particular GMAT Plugin
      Note: the proprietary plugins only show up here if
      GMAT_PROPRIETARY_PLUGINS has been correctly set 
      wxWidgets_ROOT_DIR (wxWidgets)Mac/Linux: Path to wxWidgets wx-config utility
      (usually this is the wxWidgets bin/ folder)
      Windows: Path to wxWidgets
      (containing include/ and lib/)
      wxWidgets NOT FOUND (make sure to run depends script from Step 1) 
      PYTHON_LIBRARY (PYTHON) (Advanced Variable)Requests that Use a specific installation of Python be used for GMAT's PythonInterface plugin. If this variable is blank, the latest found version of Python that can be found in default locations will be used. Set this to the FULL PATH to pythonXX.lib (e.g. C:/path/to/python35.lib) if you installed Python to a custom location.Python NOT FOUND (make sure Python is installed, and variable is set properly)
      XercesC_LIBRARY (Xerces)
      Xerces library and include folder locations.Failed to find XercesC (make sure to run depends script from Step 1)
  5. When all CMake errors are handled and you have specified all desired GMAT options, click "Generate".
    CMake will create the build system in the chosen out-of-source build folder (Figure 3 box 2).