version: 7.9.0-{build} image: - Visual Studio 2019 environment: STUDIO_VERSION_EDITION: Studio\2019\Community PLATFORM_TYPE: CMAKE_CONFIG: Debug TEST_TARGET: check matrix: - TARGET: cmake CMAKE_OPTIONS: -DBUILD_SHARED_LIBS=ON -Dbuild_tests=ON -Werror=deprecated - TARGET: cmake CFLAGS_EXTRA: -DAO_CMPXCHG16B_AVAILABLE CMAKE_OPTIONS: -Dbuild_tests=ON -Denable_assertions=ON -Dinstall_headers=OFF - TARGET: cmake CMAKE_CONFIG: Release CMAKE_OPTIONS: -DCMAKE_BUILD_TYPE=Release -Dbuild_tests=ON -Denable_gpl=OFF - TARGET: cmake CMAKE_OPTIONS: -A Win32 -Dbuild_tests=ON -Denable_assertions=ON - TARGET: cmake CMAKE_OPTIONS: -A ARM -Denable_assertions=ON -Denable_docs=OFF - TARGET: cmake CMAKE_CONFIG: Release CMAKE_OPTIONS: -A ARM64 -DCMAKE_BUILD_TYPE=MinSizeRel -DBUILD_SHARED_LIBS=ON - TARGET: nmake ARCH: x86 CFLAGS_EXTRA: /J - TARGET: nmake ARCH: x86 CFLAGS_EXTRA: -DNDEBUG WINSDK_VERSION: 8.1 - TARGET: nmake ARCH: x64 CFLAGS_EXTRA: -DAO_CMPXCHG16B_AVAILABLE WINSDK_VERSION: 8.1 - TARGET: nmake ARCH: x86_x64 CFLAGS_EXTRA: -DNDEBUG - TARGET: nmake ARCH: x86_arm TEST_TARGET: check-deps - TARGET: nmake ARCH: x64_arm64 TEST_TARGET: check-deps clone_depth: 50 build_script: - cmd: if [%TARGET%]==[cmake] ( mkdir out && cd out && cmake %CMAKE_OPTIONS% -Denable_werror=ON -DCFLAGS_EXTRA="%CFLAGS_EXTRA%" .. && cmake --build . --config %CMAKE_CONFIG% --verbose ) - cmd: if [%TARGET%]==[nmake] ( "C:\Program Files (x86)\Microsoft Visual %STUDIO_VERSION_EDITION%\VC\Auxiliary\Build\vcvarsall.bat" %ARCH% %PLATFORM_TYPE% %WINSDK_VERSION% && cd src && nmake -f Makefile.msft clean all CFLAGS_EXTRA="/WX %CFLAGS_EXTRA%" && cd .. ) test_script: - cmd: if [%TARGET%]==[cmake] ( ctest --build-config %CMAKE_CONFIG% -j4 -V ) - cmd: if [%TARGET%]==[nmake] ( "C:\Program Files (x86)\Microsoft Visual %STUDIO_VERSION_EDITION%\VC\Auxiliary\Build\vcvarsall.bat" %ARCH% %PLATFORM_TYPE% %WINSDK_VERSION% && cd src && nmake -f Makefile.msft %TEST_TARGET% CFLAGS_EXTRA="/WX %CFLAGS_EXTRA%" )