fi
ls bld/lib/*.dll >/dev/null 2>&1 && cp -f -p bld/lib/*.dll bld/tests/libtest/
cmake --build bld --config '${{ matrix.type }}' --target test-ci
+
+ msvc:
+ name: 'msvc (${{ matrix.arch }}, ${{ matrix.plat }}, ${{ matrix.config }})'
+ runs-on: windows-latest
+ timeout-minutes: 30
+ strategy:
+ matrix:
+ include:
+ - { arch: 'x64', plat: 'windows', tflags: '~1516 ~2301 ~2302 ~2303 ~2307', config: '-DENABLE_DEBUG=ON -DCURL_USE_SCHANNEL=ON -DBUILD_SHARED_LIBS=OFF -DENABLE_UNICODE=ON ', type: 'Debug' }
+ - { arch: 'x64', plat: 'windows', tflags: '~1516 ~2301 ~2302 ~2303 ~2307', config: '-DENABLE_DEBUG=ON -DCURL_USE_SCHANNEL=OFF -DBUILD_SHARED_LIBS=OFF -DENABLE_UNICODE=OFF', type: 'Debug' }
+ - { arch: 'x64', plat: 'windows', tflags: '~1516 ~2301 ~2302 ~2303 ~2307', config: '-DENABLE_DEBUG=ON -DCURL_USE_SCHANNEL=OFF -DHTTP_ONLY=ON -DENABLE_UNICODE=OFF', type: 'Debug' }
+ fail-fast: false
+ steps:
+ - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4
+ - name: 'cmake configure'
+ timeout-minutes: 5
+ shell: bash
+ run: |
+ archgen=${{ matrix.arch }}; [ "${archgen}" = 'x86' ] && archgen='Win32'
+ if [ '${{ matrix.plat }}' = 'uwp' ]; then
+ system='WindowsStore'
+ options='-DCMAKE_SYSTEM_VERSION=10.0'
+ else
+ system='Windows'
+ fi
+ [ '${{ matrix.type }}' = 'Debug' ] && options+=' -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG='
+ [ '${{ matrix.type }}' = 'Release' ] && options+=' -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE='
+ cmake -B bld ${options} \
+ "-DCMAKE_SYSTEM_NAME=${system}" \
+ -DCMAKE_TOOLCHAIN_FILE=C:/vcpkg/scripts/buildsystems/vcpkg.cmake \
+ "-DCMAKE_GENERATOR_PLATFORM=${archgen}" \
+ '-DVCPKG_TARGET_TRIPLET=${{ matrix.arch }}-${{ matrix.plat }}' \
+ -DCMAKE_VS_GLOBALS=TrackFileAccess=false \
+ '-DCMAKE_UNITY_BUILD=${{ matrix.unity }}' \
+ "-DCMAKE_C_FLAGS=${cflags}" \
+ '-DCMAKE_BUILD_TYPE=${{ matrix.type }}' \
+ -DCMAKE_UNITY_BUILD=ON \
+ -DCURL_WERROR=ON \
+ -DBUILD_EXAMPLES=ON \
+ -DENABLE_WEBSOCKETS=ON \
+ ${{ matrix.config }}
+
+ - name: 'cmake build'
+ timeout-minutes: 5
+ shell: bash
+ run: |
+ cmake --build bld --config '${{ matrix.type }}' --parallel 3
+ [[ '${{ matrix.config }}' != *'BUILD_SHARED_LIBS=OFF'* ]] && cp -f -p bld/lib/*.dll bld/src/
+ bld/src/curl.exe --disable --version
+
+ - name: 'cmake build tests'
+ if: ${{ matrix.tflags != 'skipall' }}
+ timeout-minutes: 10
+ shell: bash
+ run: |
+ cmake --build bld --config '${{ matrix.type }}' --parallel 3 --target testdeps
+
+ - name: 'cmake run tests'
+ if: ${{ matrix.tflags != 'skipall' && matrix.tflags != 'skiprun' }}
+ timeout-minutes: 30
+ shell: bash
+ run: |
+ export TFLAGS='-j14 ${{ matrix.tflags }}'
+ ls bld/lib/*.dll >/dev/null 2>&1 && cp -f -p bld/lib/*.dll bld/tests/libtest/
+ cmake --build bld --config '${{ matrix.type }}' --target test-ci
HTTP_ONLY: 'OFF'
TESTING: 'OFF'
DISABLED_TESTS: ''
- - job_name: 'CMake, VS2022, Debug, x64, Schannel, Static, Unicode'
+ - job_name: 'CMake, VS2022, Debug, x64, Schannel, Static, Unicode, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
BUILD_SYSTEM: CMake
PRJ_GEN: 'Visual Studio 17 2022'
SCHANNEL: 'ON'
ENABLE_UNICODE: 'ON'
HTTP_ONLY: 'OFF'
- TESTING: 'ON'
+ TESTING: 'OFF'
DISABLED_TESTS: '!1139 !1501 !1177 !1477'
- - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static'
+ - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
BUILD_SYSTEM: CMake
PRJ_GEN: 'Visual Studio 17 2022'
SCHANNEL: 'OFF'
ENABLE_UNICODE: 'OFF'
HTTP_ONLY: 'OFF'
- TESTING: 'ON'
+ TESTING: 'OFF'
DISABLED_TESTS: '!1139 !1501 !1177 !1477'
- - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, HTTP only'
+ - job_name: 'CMake, VS2022, Debug, x64, no SSL, Static, HTTP only, Build-only'
APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2022'
BUILD_SYSTEM: CMake
PRJ_GEN: 'Visual Studio 17 2022'
SCHANNEL: 'OFF'
ENABLE_UNICODE: 'OFF'
HTTP_ONLY: 'ON'
- TESTING: 'ON'
+ TESTING: 'OFF'
DISABLED_TESTS: '!1139 !1501 !1177 !1477'
# winbuild-based builds