name: Windows

on: [push, pull_request]

jobs:
  build-mingw:
    name: ${{matrix.sys}}-${{matrix.env}}-${{matrix.build_type}}-${{matrix.lib}}
    runs-on: windows-2025
    defaults:
      run:
        shell: msys2 {0}
    env:
      CCACHE_DIR: ${{github.workspace}}/ccache
    strategy:
      fail-fast: true
      matrix:
        build_type: [Release]
        sys: [mingw64]
        lib: [shared, static]
        include:
          - sys: mingw64
            env: x86_64

    steps:
    - uses: actions/checkout@v4
      with:
        submodules: recursive

    - name: Setup Dependencies
      uses: msys2/setup-msys2@v2
      with:
        msystem: ${{matrix.sys}}
        install: >-
          mingw-w64-${{matrix.env}}-ccache
          mingw-w64-${{matrix.env}}-cmake
          mingw-w64-${{matrix.env}}-eigen3
          mingw-w64-${{matrix.env}}-gcc
          ${{matrix.sys == 'mingw64' && format('mingw-w64-{0}-metis', matrix.env) || ''}}
          mingw-w64-${{matrix.env}}-ninja
          mingw-w64-${{matrix.env}}-suitesparse

    - name: Setup Environment
      if: ${{matrix.build_type == 'Release'}}
      run: |
        echo 'CFLAGS=-flto=auto' >> ~/.bash_profile
        echo 'CXXFLAGS=-flto=auto' >> ~/.bash_profile

    - name: Cache Build
      id: cache-build
      uses: actions/cache@v4
      with:
        path: ${{env.CCACHE_DIR}}
        key: ${{runner.os}}-${{matrix.sys}}-${{matrix.env}}-${{matrix.build_type}}-${{matrix.lib}}-ccache-${{github.run_id}}
        restore-keys: ${{runner.os}}-${{matrix.sys}}-${{matrix.env}}-${{matrix.build_type}}-${{matrix.lib}}-ccache-

    - name: Configure
      run: |
        cmake -S . -B build_${{matrix.build_type}}/ \
              -DBUILD_SHARED_LIBS=${{matrix.lib == 'shared'}} \
              -DCMAKE_BUILD_TYPE=${{matrix.build_type}} \
              -DCMAKE_C_COMPILER_LAUNCHER:FILEPATH=ccache \
              -DCMAKE_CXX_COMPILER_LAUNCHER:FILEPATH=ccache \
              -DWITH_SUITESPARSE=ON \
              -G Ninja

    - name: Build
      run: |
        cmake --build build_${{matrix.build_type}}/ \
              --config ${{matrix.build_type}}

    - name: Test
      run: |
        cd build_${{matrix.build_type}}/
        ctest --build-config ${{matrix.build_type}} \
              --output-on-failure \
              -j$(nproc)

    - name: Install
      run: |
        cmake --build build_${{matrix.build_type}}/ \
              --config ${{matrix.build_type}} \
              --target install

  build-msvc:
    name: ${{matrix.msvc}}-${{matrix.arch}}-${{matrix.build_type}}-${{matrix.lib}}-${{matrix.gpu}}
    runs-on: ${{matrix.os}}
    defaults:
      run:
        shell: powershell
    env:
      CL: /MP
      CMAKE_GENERATOR: ${{matrix.generator}}
      CMAKE_GENERATOR_PLATFORM: ${{matrix.arch}}
    strategy:
      fail-fast: true
      matrix:
        arch:
          - x64
        build_type:
          - Release
        msvc:
          - VS-17-2022
        lib:
          - shared
        gpu:
          - cuda
          - no-cuda
        include:
          - msvc: VS-17-2022
            os: windows-2022
            generator: 'Visual Studio 17 2022'
            marker: vc17

    steps:
      - uses: actions/checkout@v4
        with:
          submodules: recursive

      - name: Download and install CUDA toolkit
        if: matrix.gpu == 'cuda'
        run: |
          Invoke-WebRequest https://developer.download.nvidia.com/compute/cuda/12.5.1/network_installers/cuda_12.5.1_windows_network.exe -OutFile cuda_toolkit_windows.exe
          Start-Process -Wait -FilePath .\cuda_toolkit_windows.exe -ArgumentList "-s cusolver_dev_12.5 cusparse_dev_12.5 cublas_dev_12.5 thrust_12.5 nvcc_12.5 cudart_12.5 nvrtc_dev_12.5 visual_studio_integration_12.5"
          Remove-Item .\cuda_toolkit_windows.exe
          $CUDA_PATH = "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v12.5"
          echo "CUDA_PATH=$CUDA_PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
          echo "CUDA_PATH_V12_5=$CUDA_PATH" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
          echo "$CUDA_PATH/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

      - name: Setup cuDSS
        if: matrix.gpu == 'cuda'
        run: |
          Invoke-WebRequest https://developer.download.nvidia.com/compute/cudss/redist/libcudss/windows-x86_64/libcudss-windows-x86_64-0.3.0.9_cuda12-archive.zip -OutFile libcudss-windows-x86_64-0.3.0.9_cuda12-archive.zip
          Expand-Archive -Path .\libcudss-windows-x86_64-0.3.0.9_cuda12-archive.zip -DestinationPath "C:/"
          Remove-Item .\libcudss-windows-x86_64-0.3.0.9_cuda12-archive.zip
          $CUDSS_PATH = "C:/libcudss-windows-x86_64-0.3.0.9_cuda12-archive/"
          $CUDSS_CMAKE_CONFIG = "$CUDSS_PATH/lib/cmake/cudss/cudss-config.cmake"
          echo "cudss_DIR=$CUDSS_PATH/lib/cmake/cudss" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
          echo "$CUDSS_PATH/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

      - name: Cache SuiteSparse
        id: cache-suitesparse
        uses: actions/cache@v4
        with:
          path: suitesparse/
          key: ${{matrix.msvc}}-suitesparse-5.13.0-cmake.3-${{matrix.arch}}-${{matrix.build_type}}-${{matrix.lib}}

      - name: Download SuiteSparse
        if: steps.cache-suitesparse.outputs.cache-hit != 'true'
        run: |
          (New-Object System.Net.WebClient).DownloadFile("https://github.com/sergiud/SuiteSparse/releases/download/5.13.0-cmake.3/SuiteSparse-5.13.0-cmake.3-${{matrix.marker}}-Win64-${{matrix.build_type}}-${{matrix.lib}}-gpl-metis.zip", "suitesparse.zip");
          Expand-Archive -Path suitesparse.zip -DestinationPath ${{github.workspace}}/suitesparse;

      - name: Cache Eigen
        id: cache-eigen
        uses: actions/cache@v4
        with:
          path: eigen/
          key: ${{runner.os}}-eigen-3.4.0

      - name: Download Eigen
        if: steps.cache-eigen.outputs.cache-hit != 'true'
        run: |
          (New-Object System.Net.WebClient).DownloadFile("https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip", "eigen-3.4.0.zip");
          Expand-Archive -Path eigen-3.4.0.zip -DestinationPath .;

      - name: Setup Eigen
        if: steps.cache-eigen.outputs.cache-hit != 'true'
        run: |
          cmake -S eigen-3.4.0 -B build-eigen `
                -DBUILD_TESTING=OFF `
                -DCMAKE_Fortran_COMPILER= `
                -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/eigen `
                -DEIGEN_BUILD_DOC=OFF
          cmake --build build-eigen `
                --config ${{matrix.build_type}} `
                --target install

      - name: Setup Build Environment
        run: |
          echo "Eigen3_ROOT=${{github.workspace}}/eigen" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append
          echo "CMAKE_PREFIX_PATH=${{github.workspace}}/suitesparse" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append

      - name: Setup Runtime Environment
        run: |
          echo '${{github.workspace}}\suitesparse\bin' | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append

      - name: Configure
        run: |
          cmake -S . -B build_${{matrix.build_type}}/ `
                -DBLAS_blas_LIBRARY=${{github.workspace}}/suitesparse/lib/libblas.lib `
                -DBUILD_SHARED_LIBS=${{matrix.lib == 'shared'}} `
                -DCMAKE_CONFIGURATION_TYPES=${{matrix.build_type}} `
                -DCMAKE_INSTALL_PREFIX:PATH=${{github.workspace}}/install `
                -DLAPACK_lapack_LIBRARY=${{github.workspace}}/suitesparse/lib/liblapack.lib `
                -DWITH_SUITESPARSE=ON

      - name: Build
        run: |
          cmake --build build_${{matrix.build_type}}/ `
                --config ${{matrix.build_type}}

      - name: Test
        if: matrix.gpu == 'no-cuda'
        env:
          CTEST_OUTPUT_ON_FAILURE: 1
        run: |
          cmake --build build_${{matrix.build_type}}/ `
                --config ${{matrix.build_type}} `
                --target RUN_TESTS

      - name: Install
        run: |
          cmake --build build_${{matrix.build_type}}/ `
                --config ${{matrix.build_type}} `
                --target INSTALL
