name: C/C++ CI Windows

on:
  push:
    branches: [ "master" ]
    paths: [ '**.c', '**.h', 'Makefile.msvc', '.github/configs', '.github/workflows/c-cpp-Windows.yml' ]
  pull_request:
    branches: [ "master" ]
    paths: [ '**.c', '**.h', 'Makefile.msvc', '.github/configs', '.github/workflows/c-cpp-Windows.yml' ]

jobs:
  ci:
    name: "${{ matrix.target }}"
    strategy:
      matrix:
        target:
          - windows-2022
    runs-on: ${{ matrix.target }}
    steps:
    - uses: actions/checkout@v5
    - name: install Windows libraries
      run: vcpkg install pcre2:x64-windows && c:\msys64\usr\bin\pacman.exe -S --noconfirm mingw-w64-x86_64-pcre2 mingw-w64-x86_64-openssl
    - name: make Windows
      run: make -f Makefile.win
      env:
       LDFLAGS: '-L "c:/msys64/mingw64/lib"'
       CFLAGS: '-I "c:/msys64/mingw64/include"'
    - name: make clean Windows
      run: make -f Makefile.win clean
    - name: Add msbuild to PATH
      uses: microsoft/setup-msbuild@v3
    - name: make Windows MSVC
      shell: cmd
      run: |
       call "C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Auxiliary\Build\vcvars64.bat"
       D:
       cd "D:/a/3proxy/3proxy"
       set "LIB=%LIB%;c:/program files/openssl/lib/VC/x64/MT;c:/vcpkg/installed/x64-windows/lib"
       set "INCLUDE=%INCLUDE%;c:/program files/openssl/include;c:/vcpkg/installed/x64-windows/include"
       nmake /F Makefile.msvc
       nmake /F Makefile.msvc clean
