Pandora Toolbox is a collection of portable C++ libraries useful to create video/real-time projects: video processing, video games, emulators, simple AI, screensavers... The code is meant to be highly efficient and easy to use, while remaining lightweight and highly customizable. Libraries (video/io/hardware...) can be included separately.
Features - | - CMake options - | - Examples & tutorials - | - Changelog - | - Issue reporting & contribution
Feature overview:
- Window, renderer, message box, input, filters...
- Display monitor, CPU spec reader, CPU affinity...
- Timers, stopwatch, ordered lock, spin-lock, semaphore...
- Fixed max size vector/string, circular queue, endianness...
- Design patterns, search/sort algorithms, math/string utils...
- File utils, UTF-8/UTF-16 encoders, ini/json, logger, location finder...
- See detailed list of features and compatibility.
system | compilers | status | |
---|---|---|---|
Windows |
|
|
|
Linux/BSD (X11) |
|
|
|
Mac OS |
|||
Linux (Wayland) |
This project can be generated with CMake for any IDE (or directly open with an IDE that can natively handle CMake files). Some scripts are also available to automatically generate the project for most IDEs ("_scripts" directory). Some options can be set to configure the solution when calling CMake (CMake-GUI, command line, or via an IDE).
Using CMake command line:
cmake -S [source_dir] -G [generator_name] -A [arch] -B [build_dir] -D[option_name]=[option_value]
Examples:
- cmake -S . -G "Visual Studio 16 2019" -A x64 -B _build -DCWORK_TESTS=OFF
- cmake -S . -G "Unix Makefiles" -B _build -DCWORK_DOCS=ON
- cmake -S . -G "MinGW Makefiles" -B _build -DCMAKE_C_COMPILER=gcc.exe -DCMAKE_CXX_COMPILER=g++.exe -DCMAKE_MAKE_PROGRAM=mingw32-make.exe
More info: CMake explanations & examples - | - CMake options