Demae / Soup

The swiss army knife for C++ programmers with a focus on being compatible & bindable.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Soup

The everything library for C++ 17 and beyond with bindings for other languages.

Note

If you're looking to use Soup from a language other than C++, have a look at the bindings.

Building

Windows

Simply open up Soup.sln using Visual Studio 2022 and run a batch build for the Soup project to compile the static libraries, then you can use it in your own projects by adding a compiler and linker include, respectively.

All Operating Systems

Soup can be built using our own build system, Sun. To include it in your own projects, we recommend the directory structure such that your own project and Soup share the same parent, then you can simply add the following to the .sun file for your project:

require ../Soup/soup include_dir=../Soup

This will make it so that you have to use #include <soup/NAME.hpp> in your code, which we recommend to avoid name clashes, similar to opting not to use using namespace. However, if you omit the include_dir part, you can use #include <NAME.hpp> directly.

Bindings

To build Soup as a DLL/SO with C ABI exports, you can use sun dynamic (in the "soup" folder).

For WASM, it can be done via php wasm.php (in the root folder) or sun wasm (in the "soup" folder).

Getting Started

If you want some ideas as to how start using Soup, check out the docs.

About

The swiss army knife for C++ programmers with a focus on being compatible & bindable.

License:MIT License


Languages

Language:C++ 98.6%Language:PHP 0.5%Language:Lua 0.4%Language:JavaScript 0.3%Language:C 0.2%Language:Rust 0.0%Language:Batchfile 0.0%