From c11abeeaf59ab5494038e5f48cbbdd0b0490fd5f Mon Sep 17 00:00:00 2001 From: Florian Reimold <11774314+FlorianReimold@users.noreply.github.com> Date: Mon, 4 Mar 2024 19:41:16 +0100 Subject: [PATCH] Added npcap to GH Actions --- .github/workflows/build-windows.yml | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml index 7e6a912..9f9909f 100644 --- a/.github/workflows/build-windows.yml +++ b/.github/workflows/build-windows.yml @@ -17,8 +17,9 @@ jobs: strategy: matrix: - library_type: [static, shared, object] - build_arch: [x64, win32] + library_type: [static, shared, object] + build_arch: [x64, win32] + npcap_enabled: [ON, OFF] # The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac. # You can convert this to a matrix build if you need cross-platform coverage. @@ -31,23 +32,29 @@ jobs: run: | if ( '${{ matrix.library_type }}' -eq 'static' ) { - echo "build_shared_libs=OFF" >> "$Env:GITHUB_ENV" echo "ecaludp_library_type=STATIC" >> "$Env:GITHUB_ENV" echo "package_postfix=static" >> "$Env:GITHUB_ENV" } elseif( '${{ matrix.library_type }}' -eq 'shared' ) { - echo "build_shared_libs=ON" >> "$Env:GITHUB_ENV" echo "ecaludp_library_type=SHARED" >> "$Env:GITHUB_ENV" echo "package_postfix=shared" >> "$Env:GITHUB_ENV" } elseif( '${{ matrix.library_type }}' -eq 'object' ) { - echo "build_shared_libs=OFF" >> "$Env:GITHUB_ENV" echo "ecaludp_library_type=OBJECT" >> "$Env:GITHUB_ENV" echo "package_postfix=object" >> "$Env:GITHUB_ENV" } + if ( '${{ matrix.npcap_enabled }}' -eq 'ON' ) + { + echo "npcap_enabled_string=-npcap" >> "$Env:GITHUB_ENV" + } + else + { + echo "npcap_enabled_string=" >> "$Env:GITHUB_ENV" + } + - name: Checkout uses: actions/checkout@v3 with: @@ -73,8 +80,8 @@ jobs: -DECALUDP_USE_BUILTIN_RECYCLE=ON ^ -DECALUDP_USE_BUILTIN_GTEST=ON ^ -DECALUDP_LIBRARY_TYPE=${{env.ecaludp_library_type}} ^ - -DCMAKE_INSTALL_PREFIX=${{env.INSTALL_PREFIX}} ^ - -DBUILD_SHARED_LIBS=${{ env.build_shared_libs }} + -DECALUDP_ENABLE_NPCAP=${{ matrix.npcap_enabled }} ^ + -DCMAKE_INSTALL_PREFIX=${{env.INSTALL_PREFIX}} - name: Build (Release) shell: cmd @@ -101,6 +108,7 @@ jobs: - name: Run Tests run: ctest -C Release -V working-directory: ${{ github.workspace }}/_build + if: ${{ matrix.npcap_enabled != 'ON' }} # Npcap driver is missing, so we cannot execute tests - name: Read Project Version from CMakeCache run: | @@ -111,7 +119,7 @@ jobs: - name: Upload binaries uses: actions/upload-artifact@v3 with: - name: ${{ env.PROJECT_NAME }}-${{ env.CMAKE_PROJECT_VERSION }}-windows-${{ matrix.build_arch }}-${{ env.VS_NAME }}-${{ matrix.library_type }} + name: ${{ env.PROJECT_NAME }}-${{ env.CMAKE_PROJECT_VERSION }}${{ env.npcap_enabled_string }}-windows-${{ matrix.build_arch }}-${{ env.VS_NAME }}-${{ matrix.library_type }} path: ${{github.workspace}}/${{env.INSTALL_PREFIX}} if: ${{ matrix.library_type != 'object' }}