Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ZTzTopia/GTProxy/llms.txt
Use this file to discover all available pages before exploring further.
Overview
GTProxy uses CMake 3.24+ as its build system and Conan 2.0+ for dependency management. The project is written in C++23 and supports Windows, GNU/Linux, and macOS.Prerequisites
Required Tools
- CMake 3.24 or newer - Build system generator
- Conan 2.0 or newer - C/C++ package manager
- Python 3.5 or newer - Required for Conan
- C++23-compatible compiler:
- Windows: Visual Studio 2022 or newer
- Linux: GCC 11+ or Clang 14+
- macOS: Xcode 14+ or Clang 14+
- Git - For cloning the repository with submodules
Install Conan
Conan must be installed before building:On Windows, make sure to select “Add Python to PATH” during Python installation.
Dependencies
GTProxy uses a combination of Conan packages and Git submodules for its dependencies.Conan Dependencies
These dependencies are automatically downloaded and managed by Conan during the CMake configuration step:| Library | Version | Purpose |
|---|---|---|
| eventpp | ~0.1 | Event dispatching system |
| fmt | 12.0.0 | String formatting |
| glaze | ~6.2 | JSON serialization |
| glm | ~0.9.9 | OpenGL Mathematics library |
| magic_enum | ~0.9 | Enum reflection and serialization |
| pcg-cpp | cci.20220409 | PCG random number generator |
| libressl | 3.9.1 | TLS/SSL support |
| spdlog | ~1.16 | Logging framework |
| gtest | ~1.14 | Unit testing framework |
| lua | 5.4.6 | Lua scripting language |
| sol2 | ~3.5 | C++ to Lua binding library |
| zlib | 1.3.1 | Compression library |
Git Submodules
These libraries are included as Git submodules in thelib/ directory:
| Library | Purpose |
|---|---|
| enet | UDP networking library |
| cpp-httplib | HTTP server implementation |
Build Instructions
Clone the repository
Clone the GTProxy source code with all submodules:If you already cloned without submodules, initialize them:
Configure the build
Create a build directory and configure with CMake:Debug Build:Release Build:
During configuration, Conan will automatically download and install all required dependencies. This may take several minutes on the first run.
Platform-Specific Notes
Windows (MSVC)
- Uses
/EHsccompiler flag for exception handling - Supports Windows 7, 8, 10, and 11
- Recommended: Visual Studio 2022 with C++ workload
Linux
- Uses
-fexceptionscompiler flag - Tested on Ubuntu and Arch Linux
- Requires GCC 11+ or Clang 14+ with C++23 support
macOS
- Uses
-fexceptionscompiler flag - Tested on macOS 26 Tahoe
- Requires Xcode Command Line Tools or full Xcode installation
Running Tests
GTProxy uses Google Test for unit testing. After building, you can run tests:Clean Build
To start with a fresh build:Next Steps
Development Guide
Learn about the codebase structure and contribution guidelines
Troubleshooting
Common build issues and their solutions