A framework for developing platform independent applications in C++.
Copyright (C) 2000-2020 by René Møller Fonseca rene.m.fonseca+base@gmail.com
Primary hosting at https://dev.azure.com/renefonseca/base
The Wiki for the framework is available at https://github.com/rene-fonseca/base/wiki
Reference API documentation is hosted at https://rene-fonseca.github.io/base-api
ZLib, BZip2, XMLSOFT XML, XMLSOFT XSLT, OpenSSL, Curl, OpenGL, and X11 are optional packages.
For Ubuntu install:
sudo apt-get install zlib1g-dev
sudo apt-get install libbz2-dev
sudo apt-get install libxml2-dev
sudo apt-get install libxslt-dev
sudo apt-get install libssl-dev
sudo apt-get install libcurl4-openssl-dev
sudo apt-get install libx11-dev
For FreeBSD run:
portsnap fetch
portsnap extract
portsnap update
cd /usr/ports/textproc/libxml2
make install clean
cd /usr/ports/textproc/libxslt
make install clean
cd /usr/ports/ftp/curl
make install clean
Other optional dependencies: Wasmtime-C-API
Make sure GIT, cmake, make, and compiler (e.g. g++) are installed.
git clone https://dev.azure.com/renefonseca/base/_git/base
cd base
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug
cmake --build .. --config Debug --target install -- -j 4
./testing/unittesting
ctest . -C Debug
git clone https://dev.azure.com/renefonseca/base/_git/base
cd base
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .. --config Release --target install -- -j 4
./testing/unittesting
ctest . -C Release
List of platforms tested.
OS | Arch | Compiler | Status | Comment |
---|---|---|---|---|
Windows | x86_64 | MSC | Ok | Runs continuously on pipeline |
Windows | x86 | MSC | Ok | Runs continuously on pipeline |
Windows | ARM32 | MSC | Ok | Runs continuously on pipeline but no testing |
Windows | ARM64 | MSC | Ok | Runs continuously on pipeline but no testing |
Windows | x86_64 | Clang | Ok | Runs daily on pipeline |
Ubuntu 18.04 | x86_64 | GCC | Ok | Runs continuously on pipeline |
Ubuntu 16.04 | x86_64 | GCC | Ok | Runs continuously on pipeline |
Ubuntu | ARM64 | GCC | Ok | Runs continuously on pipeline |
Ubuntu | PowerPC | GCC | Ok | Runs continuously on pipeline |
Ubuntu | s390x | GCC | Ok | Runs continuously on pipeline |
Ubuntu | SPARC64 | GCC | Ok | Runs continuously on pipeline |
Ubuntu | PA-RISC | GCC | Ok | Runs continuously on pipeline |
Ubuntu | RISC-V32 | GCC | Ok | Runs daily on pipeline |
Ubuntu | RISC-V64 | GCC | Ok | Runs continuously on pipeline |
CentOS 8 | x86_64 | GCC | Ok | Runs continuously on pipeline |
Fedora | x86_64 | GCC | Ok | Runs continuously on pipeline |
macOS | x86_64 | Clang | Ok | Runs continuously on pipeline |
iOS | ARM64 | Clang | Ok | Runs continuously on pipeline but no testing |
WebAssembly WASI | WASM32 | LLVM | Ok | Runs continuously on pipeline - Exceptions cause abort() |
Debian 10 | x86_64 | GCC | Ok | Runs daily on pipeline |
Ubuntu 19.10 | x86_64 | GCC | Ok | Runs daily on pipeline |
Ubuntu 19.04 | x86_64 | GCC | Ok | Runs daily on pipeline |
openSUSE | x86_64 | GCC | Ok | Runs daily on pipeline |
Amazon Linux 2 | x86_64 | GCC | Ok | Runs daily on pipeline - using newer cmake build |
GCC 9 C++11 | x86_64 | GCC | Ok | Runs daily on pipeline |
GCC 9 C++14 | x86_64 | GCC | Ok | Runs daily on pipeline |
GCC 9 C++17 | x86_64 | GCC | Ok | Runs daily on pipeline |
GCC 9 C++2a | x86_64 | GCC | Ok | Runs daily on pipeline |
Emscripten | WASM32 | LLVM | Ok | Runs daily on pipeline but no testing |
FreeBSD 12.1 | x86_64 | GCC | Ok | Runs daily on pipeline but no testing |
RedHat 8.1 | x86_64 | GCC | Ok | Tested on 7 Dec 2019 |
FreeBSD 12.1 | x86_64 | Clang | Ok | Tested on 7 Dec 2019 |
OpenBSD 66 | x86_64 | GCC | Ok | Tested on 9 Dec 2019 |
Raspbian 10 | ARM32 | GCC | Ok | Tested on 9 Dec 2019 |
FreeRTOS | N/A | GCC | Compiles | Tested on 28 Jan 2020 - linking not done yet |
Zephyr | N/A | GCC | Compiles | Tested on 30 Jan 2020 - linking not done yet |
OpenSolaris 11 | x86_64 | GCC | Ok | Tested on 6 Dec 2019 |
OpenSolaris 11 | x86_64 | LLVM | Pending | |
OpenSolaris 11 | x86_64 | Studio | Pending | |
OpenSolaris 11 | SPARC64 | Pending | ||
HP-UX 11i v2 | PA-RISC | Pending | ||
AIX 7.2 | PowerPC | Pending | ||
RHEL 8 | PowerPC | Pending |
Docker images are available at: https://hub.docker.com/repository/docker/renefonseca/