Coral is a C++ wrapper around the .NET HostFXR library. The purpose of Coral is to provide an interface similar to Mono for C++/C# interop but in a more modern style and using .NET Core instead of .NET Framework.
The goal of the API is to keep it as simple and flexible as possible while remaining fast and (relatively) safe.
- Windows x64 (VS2022)
- Linux x64 (Last tested on Ubuntu 22.04)
- Languages: C++, C#, C
- Build System: Premake (with Lua)
- IDE: Visual Studio 2022
- Compiler: MSVC/CL (Visual Studio 2022), Clang 16+
- Framework: .NET Core
- Scripting: Lua (for build scripts)
- Version Control: Git
Coral has been tested to compile with MSVC / CL (Visual Studio 2022) and Clang 16+. It uses C++20 and depends on the .NET SDK being present on the system.
- Download and install Visual Studio 2022.
- Ensure that the .NET SDK is present on your system. You can download it from the official Microsoft website.
Coral uses the premake meta-build system to generate build files for other build systems (e.g., Visual Studio Solutions, Makefiles, etc.).
-
Download premake from here.
-
Open a terminal and navigate to the root directory of Coral.
-
Run the following command:
premake5 [action]
where
action
is one of the supported actions in premake.
To make the build process easier, Coral includes scripts for both Linux and Windows:
-
Linux: Run the
Setup.sh
script located in theScripts/Linux
directory../Scripts/Linux/Setup.sh
-
Windows: Run the
Setup.bat
script located in theScripts/Windows
directory..\Scripts\Windows\Setup.bat
After running the Setup.bat
or Setup.sh
, you can build the project using:
-
Windows: Run the
Build.bat
script located in theScripts/Windows
directory..\Scripts\Windows\Build.bat
-
Linux: Run the
Build.sh
script located in theScripts/Linux
directory../Scripts/Linux/Build.sh
If you encounter any issues, please report them in the Issues section of the project repository.
Coral is licensed under the MIT license.