Installing With Cmake Configuration Options¶
This documents discusses the various Cmake build options that can be used when compiling Basilisk. These build options can be set via the GUI Cmake program or specified via the command line.
Optional Cmake Flags¶
The Basilisk CMake file contains a series of flags that can be turned on to include additional features within Basilisk or to build in a particular configuration. The flags are listed in the above image. Note that tuning on some flags will invoke the
conan package manager to download and install additional dependencies. Basilisk modules that require particular dependencies will not be compiled unless their support software is installed. Associated BSK module unit tests are skipped if the required software is not provided through these Cmake flags.
The following table summarizes the possible flags:
enables Basilisk to be compiled for Python 3
installs the Google protobuffers package via
installs the 0MQ distributed messaging system via
installs the OpenCV package via
turns on code coverage when compiling with GCC on a Linux platform
This table summarizes what
cmake flags are required to get particular Basilisk features:
Simplest Basilisk Build¶
The bare-bones version of Basilisk is invoked by not turning on any
Cmake flags as shown. In the GUI Cmake all the optional compiler flags shown be de-selected as shown in the above figure. To use the command line
cmake command use the regular Basilisk set as discussed in the platform specific Basilisk installation files.
Building for Python 2 or 3¶
cmake setup a build process to compile Basilisk for Phython 3, then use:
If this flag is set to false it is built for Python 2.
Building to Support Vizard Basilisk Playback¶
To include the
vizInterface module that enables saving off and
communicating with the Vizard Unity based visualization, the two flags
USE_ZMQ must be turned on as shown in the following CMake GUI screen show.
To use the command line
cmake command use the
regular Basilisk compile tool with the additional arguments: