Skip to main content

Build Guide

In this chapter you will learn the steps to build Jenova Runtime from the source code yourself.

Building On Windows

In Windows you can use MSVC, Clang or MinGW to compile Jenova Runtime using Visual Studio, VSCode, Code::Blocks or MSYS2.

Visual Studio (MSVC)

Building Jenova Runtime for Windows x64 requires Visual Studio 2022 with C++20 Support.

  1. Build or install pre-built dependencies from here.

  2. Open Jenova.workspace in Visual Studio 2022

  3. Build the solution

You can build Jenova Runtime with Visual Studio 2017 and 2019 but Visual Studio 2022 is highly recommended.

Building On Linux

In Linux you can use Clang or GCC to compile Jenova Runtime using Code::Blocks, VSCode or Terminal.

Requirement

Building Jenova Runtime requires a minimum version of GCC 13.0 or LLVM Clang 18.0

Code::Blocks (GCC/Clang)

These are the steps to build Jenova Runtime using Code::Blocks IDE and G++/Clang++

  1. Build or install pre-built dependencies from here.

  2. Open Jenova.workspace in Code::Blocks

  3. Build the workspace

Jenova Builder/VSCode (GCC/Clang)

Jenova Builder is a Python script for building Jenova Runtime using GCC or Clang. It can be used in Visual Studio Code or any third-party IDE. Using the builder is straightforward, Simply install Python 3 and use the following commands from VSCode or Terminal :

# Running Builder
python3 ./Jenova.Builder.py

You can skip the banner and compiler selection using :

# Build using Clang++
python3 ./Jenova.Builder.py --compiler clang --skip-banner

# Build using G++
python3 ./Jenova.Builder.py --compiler gcc --skip-banner

GitHub Codespace (GCC/Clang)

Here's the step to compile Jenova Runtime in GitHub Codespace for Linux :

  1. Create a new GitHub Codespace

  2. Update Package List :

    sudo apt update
  3. Add the necessary repository to get GCC 13 :

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
  4. Install GCC 13 and G++ 13 :

    sudo apt install gcc-13 g++-13
  5. Use the update-alternatives command to set GCC 13 as the default compiler :

    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 130 --slave /usr/bin/g++ g++ /usr/bin/g++-13
    sudo update-alternatives --config gcc
    gcc --version
  6. Install Python3 and Install colored library :

    pip install colored
  7. Install 7zip Extractor :

    sudo apt-get install p7zip-full
  8. Download pre-built dependencies and extract it :

    wget https://jenova-framework.github.io/archive/dependencies/Jenova-Runtime-latest-Dependencies-Linux64.7z
    7z x Jenova-Runtime-latest-Dependencies-Linux64.7z -oLibs
    rm Jenova-Runtime-latest-Dependencies-Linux64.7z
  9. Build Jenova Runtime with builder :

    python3 ./Jenova.Builder.py --compiler gcc --skip-banner
  10. Download compiled Jenova.Runtime.Linux64.so from linux64 directory.