nadult / libfwk

Simple C++/Vulkan framework
Boost Software License 1.0
8 stars 0 forks source link
cplusplus-20 game-engine visualization vulkan

libfwk

License 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

TODO: more details

Examples & projects based on libfwk

Building

libfwk is written in C++20, so it requires a fairly new C++ compiler, preferably Clang. libfwk can be easily compiled in Ubuntu 22.04 and under Windows (github actions are provided).

Windows

libfwk requires Visual Studio 2022 with LLVM toolset. tools/install_deps.py will download all the necessary dependencies into a specified folder. libfwk project files expect this folder to be 'C:/libraries/x86_64'. You can change that in windows/shared_libraries.props. To build it, simply open windows/libfwk.sln in Visual Studio and run build.

Ubuntu

Several external dependencies have to be installed, before building libfwk. 'Install dependencies' step in test-linux job (.github/workflows/test.yml) is a good reference of how to install them.
To compile simply run make. There is a basic description of the options that you can pass to make at the beginning of Makefile & Makefile-shared.

Examples:

$ make MODE=release-paranoid COMPILER=clang++-17 STATS=true -j12
$ make MODE=release-paranoid print-stats print-variables
$ make MODE=debug-nans clean
$ make clean-all

Dependencies

External dependencies

Included dependencies

License

Whole library is licensed under Boost Software license.

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