Skip to content

Latest commit

 

History

History
316 lines (303 loc) · 9.49 KB

README.md

File metadata and controls

316 lines (303 loc) · 9.49 KB

substrate

GitHub Actions codecov Total alerts Coverity Status Contributor Covenant

Supported platforms, language versions, and compilers

Platform C++ Standard Compiler
G++ Clang
7 8 9 10 11 5 6 7 8 9 10 11 12 13 14 15
Linux C++ 11 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
C++ 14 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
C++ 17 ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
C++ 20 ✔️ ✔️
NetBSD C++ 11 ✔️
C++ 14 ✔️
C++ 17 ✔️
Platform C++ Standard Compiler
G++ Apple Clang
7 8 9 10 11 10.15 11.6
macOS C++ 11 ✔️ (1) ✔️ (1) ✔️ ✔️ ✔️ ✔️ ✔️
C++ 14 ✔️ (1) ✔️ (1) ✔️ ✔️ ✔️ ✔️ ✔️
C++ 17 ✔️ (1) ✔️ (1) ✔️ ✔️ ✔️ ✔️ ✔️
C++ 20 ✔️

(1): Programs built on Big Sur may crash on exception handle: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98805

Platform C++ Standard Compiler
MSYS G++ MSYS Clang MSVC
mingw64 ucrt64 clang64 16.11 17.0
Windows C++ 11 ✔️ ✔️ ✔️ N/A
C++ 14 ✔️ ✔️ ✔️ ✔️ ✔️
C++ 17 ✔️ ✔️ ✔️ ✔️ ✔️
C++ 20 ✔️ ✔️ ✔️ ✔️

Getting Started

There are two ways to use this library: installation and embedding.

Installing substrate

To install substrate, it really is as simple as:

meson build
ninja -C build install

Though, if you want to install to a specific location such as /usr, then you might want to specify --prefix=/usr to meson.

Embedding substrate

To embed substrate, add the project as a submodule to your project, then set up your build system to view the 'substrate' folder in this repo as part of your compiler's include path.

Using meson this is acomplished by selecting this directory using include_directories() If substrate is in your repo under deps/substrate, that looks like: substrate = include_directories('deps/substrate')

To be included in your root meson.build. You would then specify substrate as part of any library or executable include_directories specification.