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-buildNo 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.
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-logsWhen 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.
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: clang64 clang-msvc64. For x86 compilers, suffix MUST be 32, as example: clang32 clang-msvc32.
| OS | Tag | 
|---|---|
| Windows | clang-msvc64clang-msvc32clang-mingw64clang-mingw64mingw64mingw32 | 
| Linux | clang64,clang32,gnu64gnu32 | 
A compiler format must be like this because of how voke works, voke serialize everything in a way to support cross-platform.
Please read here the technical details
@vokegpu