Windows Installation Guide

Setting up Development Environment with MSYS2

Prerequisites

  1. NVIDIA GPU with CUDA support (optional, for GPU acceleration)

  2. MSYS2 (required) - Download from MSYS2 website - Run the installer and follow the installation wizard

Installing Required Packages

  1. Open “MSYS2 MinGW64” terminal and update the system:

    pacman -Syu
    
  2. Install required development packages:

    # Core development tools
    pacman -S mingw-w64-x86_64-gcc
    pacman -S mingw-w64-x86_64-gcc-fortran
    pacman -S mingw-w64-x86_64-cmake
    pacman -S mingw-w64-x86_64-ninja
    
    # Python and dependencies
    pacman -S mingw-w64-x86_64-python
    pacman -S mingw-w64-x86_64-python-pip
    pacman -S mingw-w64-x86_64-python-numpy
    
    # Testing and development tools
    pacman -S mingw-w64-x86_64-gtest
    
    pacman -S mingw-w64-x86_64-clang-tools-extra
    pacman -S mingw-w64-x86_64-lcov
    
    # Configuration backends
    pacman -S mingw-w64-x86_64-yaml-cpp
    pacman -S mingw-w64-x86_64-nlohmann-json
    
  3. Install ng-log from source:

    git clone --depth 1 https://github.com/ng-log/ng-log.git
    cd ng-log
    mkdir build
    cd build
    cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/mingw64
    ninja
    ninja install
    cd ../..
    

IDE Setup

  1. Install VS Code from the official website

  2. Install required extensions:

    code --install-extension ms-vscode.cpptools
    code --install-extension ms-vscode.cmake-tools
    code --install-extension twxs.cmake
    

Building METADA

  1. Configure the project:

    mkdir build
    cd build
    cmake -G Ninja \
      -DCMAKE_BUILD_TYPE=Debug \
      -DCMAKE_CXX_STANDARD=17 \
      -DPython3_ROOT_DIR=/mingw64 \
      -DPython3_EXECUTABLE=/mingw64/bin/python3 \
      ..
    
  2. Build the project:

    cmake --build .
    

Running Tests

Execute the test suite:

cd build
ctest --output-on-failure

Note: Python tests are disabled on Windows with MSYS2.

Troubleshooting

Common issues and solutions:

  • CMake not found: Ensure MSYS2’s MinGW64 bin directory (C:/msys64/mingw64/bin) is in your system PATH

  • Build errors: Run pacman -Syu to ensure all packages are up to date

  • CUDA errors: Install CUDA Toolkit from NVIDIA’s website if GPU support is needed

  • ng-log issues: Verify ng-log installation and ensure it’s in the system PATH