Skip to content

Build Instructions

Steven A White edited this page Jan 11, 2025 · 36 revisions

Building BioGears

The following is a guide for building BioGears for a few target platform. It is used as a guide. of our new build-system.

Dependencies

BioGears requires the following libraries to compile. The specific versions listed are used in our internal CI chain and will work easily with CMakes package system, but older versions are compatible with manual CMake configuration. Newer releases will generally include bug fixes and be compatible with BioGears unless API changes have occurred. If an incompatible version of a dependency is known we will document the issue until a fix is resolved.

Project Version Release Date URL
cmake 3.19 January 28, 2020 (https://github.com/Kitware/CMake/)
eigen 3.3.4 2017-12-29 https://gitlab.com/libeigen/eigen/)
xerces-c 3.2.3 2018-09-19 https://xerces.apache.org/xerces-c/build-3.html
xsd 4.0 2014-07-22 https://www.codesynthesis.com/download/xsd/)
dirent.h toronkko/dirent

Platforms

Biogears is tested on the following platforms. windows-vc17-md-x64 linux-gcc-core2_64 linux-gcc-aarch64

Using CMake

Variable Purpose Example
CMAKE_ROOT_FIND_PATH Search Path for Cross Platform Purposes /opt/aarch64-sysroot/
CMAKE_PREFIX_PATH Search path for CMake packages /opt/xerces-c;/opt/xsd
CMAKE_INSTALL_PREFIX Destination of Biogears libraries C:/Biogears
Biogears_BUILD_JAVATOOLS Toggle building Java Tools (Deprecated) ON/OFF
Biogears_BUILD_HOWTOS Toggle the building of SDK Examples ON/OFF

It should be noted that the backslash '/' character is often used as an escape character in most shells. For this reason CMake prefers to receive all paths even on windows with forward-slashes '/' In these examples all paths are written as backslashes, but you may want to write them with forward slashes to avoid any complications.

System Requirements

Biogears is a fairly large code base. We are always working on ways to optimize the code both in terms of performance and compilation time, but just by the nature of the beast you should use a very modern machine to compile it. Using parallel compilation of 8 cores compilation can be as low as ten minutes, but compilation with a single core can take hours. Additionally, the codebase encourages function interlining which can require a great deal of memory to process. Parallel builds using GCC Regularly require near 8GB of ram so be prepared. We suggest the following minimum requirements.

Part Suggestion
Building Specs
CPU Intel i7 or Ryzen 5
Memory 8GBs
Disk Space 2GBs
Running Specs
CPU Intel i3 or Ryzen 3
Memory 10 MBs
Disk Space 10GBs

Windows

Linux

This section will cover building Biogears for AMD64 architectures and cross compiling to arm variants.

Android

This section covers building BioGears for Android on various systems

MacOS