@echo off
setlocal enabledelayedexpansion

REM Find Visual Studio installation and initialize the development environment
if exist "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" (
    call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
) else if exist "C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" (
    call "C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvarsall.bat" x64
) else if exist "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" (
    call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
) else if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" (
    call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x64
) else if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" (
    call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Auxiliary\Build\vcvarsall.bat" x64
) else if exist "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" (
    call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64
) else (
    echo Error: Could not find Visual Studio installation.
    echo Please make sure Visual Studio with C++ development tools is installed.
    exit /b 1
)

echo ===== Building HID Device Analyzer =====

REM Create build directory if it doesn't exist
if not exist build mkdir build

echo.
echo Building HID Device Analyzer...
cl /EHsc /std:c++17 /Fe"build\hid_analyzer.exe" main.cpp hid_device_analyzer.cpp /link setupapi.lib hid.lib

if %ERRORLEVEL% neq 0 (
    echo Failed to build HID Device Analyzer.
    exit /b %ERRORLEVEL%
)

echo.
echo Build completed successfully!
echo The executable is located at: build\hid_analyzer.exe
echo.
echo Usage examples:
echo build\hid_analyzer.exe --list
echo build\hid_analyzer.exe --valve
echo build\hid_analyzer.exe --help
echo.

echo Press any key to exit...
pause > nul
exit /b 0