Skip to content

Repository files navigation

voke

Independent lightweight cross-platform C/C++ library-manager.

voke works with syncing libraries and compilers from the voke-repositories, where all compilers and libraries exists mapped, mapped with voke-files, .voke-file describe fixed arguments to map library per compiler target/or compiler, but do not worry, it is mainted by @VokeGpu.

The plans for now is focus on Windows support, Linux is not the priority (but it works!).

Welcome ><, if you want to contribute check the Vokegpu standard, thanks.

All you need to compile: CMake, Ninja, std17. GNU, LLVM, or a Microsoft compiler.

cmake -S . -B ./cmake-build -G Ninja
cmake --build ./cmake-build

No C++ library is needed, just external dependencies tools like CMake, Ninja, Git. Soon voke must support Ninja, CMake sync --- as a part of fundementals compilation support.

Commands

Note: You must have git installed, visit here for download.

sync a C/C++ library or compiler:
voke |-s *|--sync *
optional --- version to look-up:
| -v *| --version *
optional --- pre-compiled binary:
| -b
| --binary
optional --- specify compilers to sync the library:
| -t
| --targets
optional --- force sync (re-installing):
| -f
| --force
remove a C/C++ library or compiler from the system:
voke | -r *| --remove *
sync all C/C++ compilers/libraries installed under system:
voke | -sac | --sync-all-compilers
| -sal | --sync-all-libraries
output software version:
voke | -v | --version
optional --- expose shell commands outputs:
voke | -el
| --extra-logs

Libraries

When syncing a library, you can specify which compiler target you want.

For example sync SDL with your Clang-Mingw64 on Windows: voke -s libsdl2 -c clang-mingw64.

Compiler

When using voke, there is a standard format to use, it is a cross-platform library manager, you need to specifiy which C/C++ target compiler you want to use.
For x86_64 compilers, tag suffix MUST be 64, as example: clang64clang-msvc64. For x86 compilers, suffix MUST be 32, as example: clang32clang-msvc32.

OSTag
Windowsclang-msvc64clang-msvc32clang-mingw64clang-mingw64mingw64mingw32
Linuxclang64, clang32, gnu64gnu32

A compiler format must be like this because of how voke works, voke serialize everything in a way to support cross-platform.

Technical Details

Please read here the technical details

@vokegpu

About

Independent lightweight cross-platform C/C++ library/compiler-manager.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Contributors

Languages