My Generic Framework
Find a file
2026-04-25 03:28:28 +02:00
extra Added MenuBar 2026-04-25 03:28:28 +02:00
licences Added possibility to load fonts from memory + added UbuntuMonoRegular as 2026-03-31 07:32:37 +02:00
other Added MenuBar 2026-04-25 03:28:28 +02:00
src Added MenuBar 2026-04-25 03:28:28 +02:00
.clangd Added MenuBar 2026-04-25 03:28:28 +02:00
.gitignore New README File + consolidated build script 2025-10-28 11:50:07 +01:00
build Fixed Windows related problems 2026-04-03 03:10:03 +02:00
CMakeLists.txt Added MenuBar 2026-04-25 03:28:28 +02:00
LICENSE New README File + consolidated build script 2025-10-28 11:50:07 +01:00
README.md cmake modifications for macos 2026-04-03 03:36:59 +02:00

⚠️ !!! THIS PROJECT IS STILL IN EARLY DEVELOPMENT !!! ⚠️

OmniaFramework

A modular C++ utility library containing a collection of general purpose tools and classses.

Build instructions - Windows

Step 1: Install MSYS2

Download and install MSYS2, a minimal Unix-like environment for Windows that includes Clang, Make, and package management.

⚠️ Recommended install path: Leave the default location C:\msys64 unchanged. If you install MSYS2 elsewhere, you may need to manually adjust paths in scripts and build commands throughout the build process.

Once installed, launch the MSYS2 UCRT64 terminal; this is the environment OmniaFramework is designed to build in.

Step 2: Prepare build environment

Once you have the MSYS2 UCRT64 terminal open, run theese two commands to prepare the build environment and install dependencies:

pacman -Syuu
pacman -S --needed base-devel mingw-w64-ucrt-x86_64-clang mingw-w64-ucrt-x86_64-gdb mingw-w64-ucrt-x86_64-cmake mingw-w64-ucrt-x86_64-make mingw-w64-ucrt-x86_64-boost mingw-w64-ucrt-x86_64-sdl3 mingw-w64-ucrt-x86_64-sdl3-image mingw-w64-ucrt-x86_64-sdl3-ttf

Step 3: build OmniaFramework

Still in the UCRT64 terminal, run the following commands to download, compile and install OmniaFramework:

git clone https://github.com/OmniaX-dev/OmniaFramework.git
cd OmniaFramework
./build release
./build install
Build options

Once MSYS2 is installed and your environment is set up, you can use the ./build script to compile OmniaFramework in various modes other than release:

Debug build
./build debug

Compiles OmniaFramework with debug symbols and no optimization, ideal for development and troubleshooting.

Incremental build (uses last configuration)
 ./build

Rebuilds only the modified source files using whichever build configuration was last used (debug or release). This is ideal for fast iteration without switching modes.

Run after build
./build run

Same as ./build, but immediately launches ostd_test.exe after building the changes.

Windows release packaging
./build install

Installs the library MSYS2's UCRT64 profile.

⚠️ Important: The /build script assumes MSYS2 is installed at C:/msys64. If your installation is in a different location, you must manually update the MSYS_ROOT variable at the top of other/create_release.sh and other/install_release.sh.

Build instructions - Linux

Step 1: Install dependencies
  • Arch Linux
sudo pacman -S --needed base-devel clang  gdb cmake make boost sdl3 sdl3_image sdl3_ttf
  • Ubuntu
sudo apt update && sudo apt upgrade
sudo apt install build-essential dkms linux-headers-$(uname -r) clang gdb make cmake libssl-dev libboost-all-dev libsdl3-dev libsdl3-image-dev libsdl3-ttf-dev libxcb-randr0-dev
  • Fedora
sudo dnf update
sudo dnf install gcc gcc-c++ make clang gdb cmake clang-tools-extra boost boost-devel SDL3 SDL3_image SDL3_ttf SDL3-devel SDL3_image-devel SDL3_ttf-devel

NOTE: For other Linux distros, you need to install the same dependencies through your package manager.

Step 2: Build OmniaFramework
git clone https://github.com/OmniaX-dev/OmniaFramework.git
cd OmniaFramework
./build release
./build install

NOTE: The same build options for the ./build script apply here, as explained in the Windows section.

Build instructions - MacOS

Step 1: Install HomeBrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Step 2: Add HomeBrew to PATH

After installing HomeBrew, it should automatically tell you how to add it to path, in general it should loo something. like this:

  • For Apple Silicon
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
  • For Intel Mac
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
Step 3: Install dependencies
brew install git llvm gdb cmake make boost sdl3 sdl3_image sdl3_ttf pkg-config
Step 4: Build OmniaFramework
git clone https://github.com/OmniaX-dev/OmniaFramework.git
cd OmniaFramework
./build release
./build install

NOTE: The same build options for the ./build script apply here, as explained in the Windows section.