Skip to content

Coral is a C++/C# wrapper around the .NET CoreCLR library, the purpose of Coral is to provide a native interface similar to Mono, but in a more modern style, and using .NET Core instead of .NET Framework

License

Notifications You must be signed in to change notification settings

NorthernL1ghts/Coral

Coral

Coral's Logo

Build Status License Platform C++ Version Visual Studio Clang Version

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.

Supported Platforms

  • Windows x64 (VS2022)
  • Linux x64 (Last tested on Ubuntu 22.04)

Tech Stack

  • 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

Compiling

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.

Additional Requirements

Building

Coral uses the premake meta-build system to generate build files for other build systems (e.g., Visual Studio Solutions, Makefiles, etc.).

  1. Download premake from here.

  2. Open a terminal and navigate to the root directory of Coral.

  3. Run the following command:

    premake5 [action]

    where action is one of the supported actions in premake.

Scripts

To make the build process easier, Coral includes scripts for both Linux and Windows:

  • Linux: Run the Setup.sh script located in the Scripts/Linux directory.

    ./Scripts/Linux/Setup.sh
  • Windows: Run the Setup.bat script located in the Scripts/Windows directory.

    .\Scripts\Windows\Setup.bat

Build Script

After running the Setup.bat or Setup.sh, you can build the project using:

  • Windows: Run the Build.bat script located in the Scripts/Windows directory.

    .\Scripts\Windows\Build.bat
  • Linux: Run the Build.sh script located in the Scripts/Linux directory.

    ./Scripts/Linux/Build.sh

Issues

If you encounter any issues, please report them in the Issues section of the project repository.

License

Coral is licensed under the MIT license.

About

Coral is a C++/C# wrapper around the .NET CoreCLR library, the purpose of Coral is to provide a native interface similar to Mono, but in a more modern style, and using .NET Core instead of .NET Framework

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published