Skip to content

Build Instructions

Austin Baird, PhD edited this page Feb 8, 2021 · 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.

Project Version Release Date URL
cmake 3.16 March 4, 2020 win linux macos
eigen 3.3.4 2017-12-29 zip tar.gz
log4cpp 1.1.4 2018-07-12 zip
xerces-c 3.2.1 2010-04-21 buildHere
xsd 4.0 2014-07-22 zip tar.gz
dirent.h toronkko/dirent zip

Platforms

Biogears is tested on the following platforms.

windows-vc15-md-x64
linux-gcc-core2_64
linux-gcc-aarch64
macos-llvm-yosemite

Using CMake

Variable Purpose Example
CMAKE_ROOT_FIND_PATH Search Path for Cross Patform Purposes /opt/aarch64-sysroot/
CMAKE_PREFIX_PATH Search path for CMake packages /opt/xerces-c;/opt/xsd;/opt/log4cpp;/opt/xsd
CMAKE_INSTALL_PREFIX Destination of Biogears libraries C:/Biogears
Biogears_BUILD_JAVATOOLS Toogle 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 foward-slashes '/' In these examples all paths are written as backslashes, but you may want to write them with fowardslashes 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 Regularlly 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.

MacOS

This section will cover building BioGears on MacOS using Xcode and brew package manager

Clone this wiki locally