Skip to content

Windows Build & Setup Guide

This guide provides step-by-step instructions for configuring, compiling, and running Aegis on Windows using Visual Studio and CMake.


Prerequisites

To compile Aegis on Windows, ensure the following tools are installed:

  1. Visual Studio 2022:
  2. Install the Desktop development with C++ workload.
  3. Verify that the MSVC v143 compiler toolset and C++ CMake tools for Windows are checked.
  4. CMake (version 3.16 or higher):
  5. Usually bundled with Visual Studio, or can be installed standalone from cmake.org.

Configuring and Building

Aegis uses CMake to generate and manage cross-platform build configurations.

1. Configure the Build

Open a terminal (Developer PowerShell/Command Prompt for Visual Studio, or Git Bash) in the project root directory and run:

# Configure the build directory in Release mode
cmake -B build -DCMAKE_BUILD_TYPE=Release

2. Compile the Targets

Compile the unit test executable (aegis_tests) and performance microbenchmark tool (aegis_benchmark):

# Compile all targets under the Release configuration
cmake --build build --config Release

The compiled binaries will be generated under build/Release/.


Running Verification Suites

1. Run Unit & Integration Tests

Verify that all core lock-free queues, memory pools, packet parsers, and connection trackers pass validation checks:

# Execute the tests from the root directory
build\Release\aegis_tests.exe

2. Run Performance Microbenchmarks

Evaluate component-level performance, measuring queue latency, memory pool acquire/release cycles, and parser throughput:

# Execute the microbenchmarks
build\Release\aegis_benchmark.exe

Troubleshooting

Compiler Warnings Treated as Errors

Aegis enables strict warning flags (/WX on MSVC) to enforce modern code quality standards. If compilation fails due to warnings on custom MSVC toolchain versions: - Check that your Visual Studio 2022 toolset is up to date. - Alternatively, you can disable treating warnings as errors by configuring CMake with:

cmake -B build -DCMAKE_BUILD_TYPE=Release -DMSVC_WARNINGS_AS_ERRORS=OFF