The Tudat bundle contains Tudat and a number of external libraries in a modular fashion. The TU Delft Astrodynamics Toolbox (Tudat) is a set of C++ software libraries for simulating various astrodynamics applications, for more info see the Tudat website.
This document contains minimal information on how to build the Tudat bundle. For more information see documentation below.
-
Clone the repository on your computer (or fork and then clone)
git clone https://github.com/tudat/tudatBundle.git
-
Enter the new directory
cd tudatBundle
-
Checkout all the submodules (optionally you can clone only the necessary submodules)
git submodule update --init --recursive
-
Make a new build directory and enter
mkdir build && cd build
-
Initiate CMake for the project
cmake ../
-
Build the project
make
Note: it can happen that due to dependencies between the submodules the make
process quits with an error (after building SPICE or JSONCPP, for instance). In this case, please repeat steps 5 and 6 once or twice.
By default only the SPICE library is build. You can enable/disable which libraries are build by manipulating special use switches:
-
Each library has such a switch, these are:
USE_CSPICE
,USE_JSONCPP
,USE_NRLMSISE
andUSE_PAGMO
. -
You can turn on or off such a switch as an argument to CMake. For instance, the following will disable SPICE, but enable the nrlmsise-00 atmopshere model:
cmake ../ -DUSE_CSPICE=0 -DUSE_NRLMSISE=1
Detailed control and to specification of detailed build options for external libraries (like building of examples and tests) can be achieved by editing CMakeLists.txt
.
-
Copy the
templateApplication
fromtudatExampleApplications
to tudatApplications and give it your own name:cp -R tudatExampleApplications/templateApplication tudatApplications/myApplication cd tudatApplications/myApplication mv TemplateApplication MyApplication
-
Add your project to the top-level
CMakeLists.txt
, like so:add_subdirectory("${PROJECTROOT}/tudatApplications/myApplication/MyApplication")
-
Re-run cmake and make commands.