Installation
Fastest-lap is ready to use once you have the dynamic library libfastestlapc-VERSION
, plus other libraries such as Ipopt and Mumps. The following steps describe how to get such library.
Windows 10 (Precompiled binaries)
Prerequisites: none :)
Download the latest release of Fastest-lap, and unzip its contents to your desired folder. If you don’t want bad things to happen, keep all the files into their original directory relative to the root!
📁 bin contains the Fastest-lap C++ dynamic library:
libfastestlapc-VERSION.dll
plus other dynamic libraries fastest-lap depends on.📁 include contains the Fastest-lap C header
fastestlapc.h
and the python modulefastest_lap.py
📁 database includes track and vehicle models inputs
📁 examples contains python notebook examples
Linux and Mac
- Prerequisites:
C/C++ and Fortran compilers
(mac) Command line tools
Fastest-lap has been successfully compiled with:
Mac
Apple clang version 13.0.0
GNU Fortran (Homebrew GCC 11.2.0_3) 11.2.0
Linux
g++ (GCC) 11.2.0
GNU Fortran (GCC) 11.2.0
The steps to build this project using CMake are the usual:
1) Set a variable FASTESTLAP
to the top level directory
$ export FASTESTLAP=/path/to/fastest-lap
2) Create a build folder.
$ mkdir ${FASTESTLAP}/build
3) From the build folder, run cmake
$ cd ${FASTESTLAP}/build && cmake ..
The following options can be set to customise the compilation:
CMAKE_BUILD_TYPE
: Debug/Release (defaults to RELEASE)
CMAKE_C_COMPILER
: /path/to/cc
CMAKE_CXX_COMPILER
: /path/to/cxx
CMAKE_Fortran_COMPILER
: /path/to/fc
At this stage, CMake will download and install all the thirdparty dependencies. This can take up to 30 minutes
4) Compile
$ make
If make was successful, the dynamic library libfastestlapc.dylib
(Mac) or libfastestlap.so
(Linux) should be found in ${FASTESTLAP}/build/lib
5) (Optional but recommended) Test
$ ctest --verbose
Troubleshooting
If you encounter any issue while repeating the steps, first take a look in the Issues section of the repository. Probably someone has been there before :). If still you cannot fix the issue, feel free to open a new issue.