An experimental C++ wrapper for AngelScript that makes use of the recently-implemented reflection features of C++26.
This library's documentation assumes you are already familiar with AngelScript and its features. If you are not, then visit the AngelScript website.
The primary goal of this template library is to greatly reduce the registration code required to set up your application interface. Without it, you would have to register all of your classes, global variables, global functions, enums, etc., manually, which is error prone and a headache to maintain.
This wrapper does not aim to put AngelScript in a black box: you can directly access, for example, the engine object, if you need to.
- Prerequisites
- Wrappers
- Typenames
- Properties
- Functions
- Funcdefs
- Reference Types
- Typedefs
- Enums
- Interfaces
- Value Types
You will need to separately build GCC 16.1.0 and install it at the root of this repository within a gcc-16.1.0 folder. In the future I want the ./set_up.sh script to carry this out for you, but I can't get it to work for now, so use these as starting points until I can figure it out:
All scripts must be executed whilst the current working directory is the root of the repository!
- Execute
./set_up.sh. This will install clang-format-18 (not required for the build). - Execute
./build.sh. This will configure and build the AngelScript wrapper library.- You can execute
./build.sh -rto remove debug symbols from the build. - You can execute
./build.sh -cif you need to perform a clean configure and build. - You can execute
./build.sh -tto build and run the tests as well as the library. - You can execute
./build.sh -dto build and run the tests (via GDB) as well as the library. - Note the use of a pre-built version of GCC that supports C++26 features like reflection. It must live in a
gcc-16.1.0folder at the root of the repository.
- You can execute