-
Notifications
You must be signed in to change notification settings - Fork 49
Build Instructions
The following is a guide for building BioGears for a few target platform. It is used as a guide. of our new build-system.
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 |
Biogears is tested on the following platforms. windows-vc17-md-x64 linux-gcc-core2_64 linux-gcc-aarch64
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.
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 |
This section will cover building Biogears for AMD64 architectures and cross compiling to arm variants.
This section covers building BioGears for Android on various systems