Thanks to visit codestin.com
Credit goes to github.com

Skip to content

nadult/libfwk

Repository files navigation

libfwk

License: MIT Build status

WTF is libfwk?

FWK is a sweet (IMVHO) abbreviation for framework. It is basically a set of classes and functions which I use in most of my projects (mostly game-related). It's trying to be light, super easy to use and performant where it matters.

Features

  • Vulkan & SDL3 based
  • Light-weight and easy to use
  • Doesn't use C++ exceptions (has a custom expected<>-based error handling system instead)
  • Supported platforms: Ubuntu 22.04+, Windows (requires VS 2022 with LLVM toolset)

Examples & projects based on libfwk

Building

libfwk can be easily built on Ubuntu and Windows. It leverages CMake for project configuration and building and it has it's own simple system for managing dependencies similar to PIP or NPM. This system consists of a single-file python script (tools/configure.py), which can, based on provided dependencies.json file build or download pre-built packages of all the required packages. This script can also be used to simplify project configuration on Windows when building with Visual Studio 2022+ or ninja paired with clang-cl or MSVC.

libfwk requires a fairly new compiler which supports C++ 20 and statement expressions. That's why, on Windows, libfwk-based projects should be compiled with clang-cl, and not with MSVC. Clang-cl is available in Visual Studio's LLVM toolset.

Assuming that you have installed CMake, Python and a proper compiler, you should be able to build libfwk or libfwk-based project by running the following commands:

python [path-to-libfwk]/tools/configure.py download-deps
python [path-to-libfwk]/tools/configure.py
cmake --build build --parallel

download-deps command will download all the required dependencies in dependencies/ subdirectory. Those files will be downloaded from github-based package caches, specified in dependencies.json. If you don't want to use those precompiled packages, then you can instead build those packages locally with build-deps command. It will additionally require installing conan.

Dependencies

License

Whole library is licensed under MIT license.

If You found this library useful, please contact the author (nadult (at) fastmail (dot) fm).
Any kind of feedback is greatly appreciated.

About

Simple C++/Vulkan framework

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages