Skip to content

A collection of headers containing useful tools and gadgets for building C++ programs

License

Notifications You must be signed in to change notification settings

freyjadomville/substrate

 
 

Repository files navigation

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.

About

A collection of headers containing useful tools and gadgets for building C++ programs

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 97.1%
  • Meson 2.4%
  • Other 0.5%