Building#
Prerequisites#
OpenFLY requires:
A C++17/20 compatible compiler that supports openMP 4.5+
cmake 3.14+
git
MPI installation
doxygen 1.9+ [optional, for documentation]
python 3.6+ [optional, for documentation]
Additionally openFLY has a number of dependencies which are managed automatically through vcpkg and git submodules.
Getting the source code#
First, download a copy of the source code using git:
git clone --recursive https://github.com/ConorWilliams/openFLY.git
git clone --recursive git@github.com:ConorWilliams/openFLY.git
then cd into the newly created folder:
cd openFLY
Compiling openFLY#
To build openFLY in release mode with:
First configure cmake (this will also fetch and build the vcpkg dependancies):
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=./external/vcpkg/scripts/buildsystems/vcpkg.cmake
Then compile the code:
cmake --build build
First configure cmake (this will also fetch and build the vcpkg dependancies):
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=./external/vcpkg/scripts/buildsystems/vcpkg.cmake
Then compile the code:
cmake --build build --config Release
Note
MSVC by default is not standards compliant and you need to pass some flags to make it behave properly. See the flags-windows
preset in the CMakePresets.json file for the flags and with what variable to provide them to CMake during configuration.
Documentation#
If you want to build a local version of the documentation you will require the optional Prerequisites
First you must install the required python packages:
pip3 install -r docs/requirements.txt
Then the documentation will build automatically when supplying the -DFLY_DOCS=ON
to the configure step or in your CMakeUserPresets.json
file if using Presets