| # Copyright (C) The c-ares project and its contributors |
| # SPDX-License-Identifier: MIT |
| |
| image: Previous Visual Studio 2022 |
| |
| # Github/Bitbucket only: get source code for one particular commit as zip archive, instead of git clone'ing. |
| shallow_clone: true |
| |
| # Github/Bitbucket only: per-file commit filtering |
| skip_commits: |
| files: |
| - .gitignore |
| - '**/*.md' |
| - .travis.yml |
| - .cirrus.yml |
| - '.github/**' |
| |
| # List of build configurations to test. |
| configuration: |
| - DEBUG |
| |
| # Note: You can set extra cmake args for a particular matrix entry with CMAKE_EXTRA_OPTIONS. For example: |
| # CMAKE_EXTRA_OPTIONS: -DOPENSSL_ROOT_DIR=C:/OpenSSL-Win32 |
| environment: |
| matrix: |
| # MSVC 2022, 32-bit x86 (cmake, WindowsXP) |
| - COMPILER: MSVC |
| CONFTOOL: CMAKE |
| SYSTEM: CONSOLE |
| SKIP_TESTS: no |
| MSVC_SETUP_ARG: x86 |
| MSVC_SETUP_PATH: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat |
| CMAKE_EXTRA_OPTIONS: -GNinja -DCARES_BUILD_TESTS=ON -DGTEST_ROOT=C:\projects\googletest -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebugDLL -DCMAKE_C_FLAGS="-D_WIN32_WINNT=0x0501" -DCMAKE_CXX_FLAGS="-D_WIN32_WINNT=0x0501" |
| TOOLSDIR: ./build/bin |
| TESTDIR: ./build/bin |
| BUILD_GOOGLETEST: yes |
| |
| # MSVC 2022, 64-bit x64 (cmake) |
| - COMPILER: MSVC |
| CONFTOOL: CMAKE |
| SYSTEM: CONSOLE |
| SKIP_TESTS: no |
| MSVC_SETUP_ARG: x64 |
| MSVC_SETUP_PATH: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat |
| TOOLSDIR: ./build/bin |
| TESTDIR: ./build/bin |
| CMAKE_EXTRA_OPTIONS: -GNinja -DCARES_BUILD_TESTS=ON -DGTEST_ROOT=C:\projects\googletest -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebugDLL |
| BUILD_GOOGLETEST: yes |
| |
| # MSVC 2022, 64-bit x86 (nmake) |
| - COMPILER: MSVC |
| CONFTOOL: NMAKE |
| SYSTEM: CONSOLE |
| SKIP_TESTS: no |
| MSVC_SETUP_ARG: x64 |
| MSVC_SETUP_PATH: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat |
| BUILD_GOOGLETEST: yes |
| |
| # MSVC 2022, 32-bit x86 (nmake) |
| - COMPILER: MSVC |
| CONFTOOL: NMAKE |
| SYSTEM: CONSOLE |
| SKIP_TESTS: no |
| MSVC_SETUP_ARG: x86 |
| MSVC_SETUP_PATH: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat |
| BUILD_GOOGLETEST: yes |
| |
| # MinGW, 32-bit x86 (makefiles, Windows XP) |
| - COMPILER: MINGW |
| CONFTOOL: MAKE |
| SYSTEM: CONSOLE |
| SKIP_TESTS: no |
| PATH: C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin;%PATH% |
| BUILD_GOOGLETEST: yes |
| MAKE_FLAGS: WIN32_WINNT=0x0501 |
| |
| # MinGW, 32-bit x86 (cmake static only, Windows XP) |
| - COMPILER: MINGW |
| CONFTOOL: CMAKE |
| SYSTEM: CONSOLE |
| SKIP_TESTS: no |
| TOOLSDIR: ./build/bin |
| TESTDIR: ./build/bin |
| PATH: C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin;%PATH% |
| CMAKE_EXTRA_OPTIONS: -DCARES_SHARED=OFF -GNinja -DCARES_BUILD_TESTS=ON -DGTEST_ROOT=C:\projects\googletest -DCMAKE_C_FLAGS="-D_WIN32_WINNT=0x0501" -DCMAKE_CXX_FLAGS="-D_WIN32_WINNT=0x0501" |
| BUILD_GOOGLETEST: yes |
| |
| # Disabled until AppVeyor updates their Visual Studio with this patch: |
| # https://developercommunity.visualstudio.com/t/clexe-compiler-error-C1007-when-compili/10486219 |
| # # MSVC 2022, UWP (cmake) |
| # - COMPILER: MSVC |
| # CONFTOOL: CMAKE |
| # SYSTEM: CONSOLE |
| # SKIP_TESTS: yes |
| # MSVC_SETUP_ARG: x64 store |
| # MSVC_SETUP_PATH: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat |
| # CMAKE_EXTRA_OPTIONS: -DCMAKE_SYSTEM_NAME=WindowsStore -DCMAKE_SYSTEM_VERSION=10.0 -A x64 |
| |
| |
| install: |
| - if "%COMPILER%" == "MINGW" rename "C:\Program Files\Git\usr\bin\sh.exe" "sh2.exe" |
| |
| before_build: |
| # Setup build environment for the selected compiler (not all compilers need to do anything here). |
| # -- Visual Studio -- |
| - if "%COMPILER%" == "MSVC" call "%MSVC_SETUP_PATH%" %MSVC_SETUP_ARG% |
| - if "%BUILD_GOOGLETEST%" == "yes" git clone --depth=1 https://github.com/google/googletest googletest |
| - if "%BUILD_GOOGLETEST%" == "yes" cd googletest |
| - if "%BUILD_GOOGLETEST%" == "yes" cmake -DCMAKE_INSTALL_PREFIX=C:\projects\googletest -DCMAKE_POLICY_DEFAULT_CMP0091:STRING=NEW -DCMAKE_MSVC_RUNTIME_LIBRARY=MultiThreadedDebugDLL -GNinja -Bbuild |
| - if "%BUILD_GOOGLETEST%" == "yes" cmake --build build --config Debug |
| - if "%BUILD_GOOGLETEST%" == "yes" cmake --install build --config Debug |
| - if "%BUILD_GOOGLETEST%" == "yes" cd .. |
| |
| build_script: |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "NMAKE" copy .\include\ares_build.h.dist .\include\ares_build.h |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "NMAKE" nmake /NOLOGO /f .\Makefile.msvc |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "CMAKE" cmake -DCMAKE_BUILD_TYPE=%configuration% -DCMAKE_INSTALL_PREFIX=C:\projects\build-cares\test_install -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON %CMAKE_EXTRA_OPTIONS% -Bbuild |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "CMAKE" cmake --build build --config Debug |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "CMAKE" cmake --install build --config Debug |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "MAKE" copy .\include\ares_build.h.dist .\include\ares_build.h |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "MAKE" mingw32-make.exe -f Makefile.m32 demos %MAKE_FLAGS% |
| |
| test_script: |
| # We can't use powershell for tests due to treating stderr as an error |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "NMAKE" if not "%SKIP_TESTS%" == "yes" cd test |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "NMAKE" if not "%SKIP_TESTS%" == "yes" nmake GTEST_ROOT=C:\projects\googletest /NOLOGO /f .\Makefile.msvc vtest |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "NMAKE" if not "%SKIP_TESTS%" == "yes" nmake GTEST_ROOT=C:\projects\googletest /NOLOGO /f .\Makefile.msvc aresfuzz aresfuzzname dnsdump |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "NMAKE" if not "%SKIP_TESTS%" == "yes" .\msvc\arestest\lib-debug\dnsdump.exe fuzzinput\answer_a fuzzinput\answer_aaaa |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "MAKE" if not "%SKIP_TESTS%" == "yes" cd test |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "MAKE" if not "%SKIP_TESTS%" == "yes" mingw32-make.exe GTEST_ROOT=C:\projects\googletest -f Makefile.m32 vtest %MAKE_FLAGS% |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "MAKE" if not "%SKIP_TESTS%" == "yes" mingw32-make.exe GTEST_ROOT=C:\projects\googletest -f Makefile.m32 aresfuzz.exe aresfuzzname.exe dnsdump.exe %MAKE_FLAGS% |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "MAKE" if not "%SKIP_TESTS%" == "yes" .\dnsdump.exe fuzzinput\answer_a fuzzinput\answer_aaaa |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "CMAKE" if not "%SKIP_TESTS%" == "yes" cd %TESTDIR% |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "CMAKE" if not "%SKIP_TESTS%" == "yes" .\adig.exe www.google.com |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "CMAKE" if not "%SKIP_TESTS%" == "yes" .\ahost.exe www.google.com |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "CMAKE" if not "%SKIP_TESTS%" == "yes" .\arestest.exe --gtest_filter=-*LiveSearchTXT*:*LiveSearchANY*:*LiveGetLocalhostByAddr* |
| - if "%SYSTEM%" == "CONSOLE" if "%CONFTOOL%" == "CMAKE" if not "%SKIP_TESTS%" == "yes" .\dnsdump.exe "%APPVEYOR_BUILD_FOLDER%\test\fuzzinput\answer_a" "%APPVEYOR_BUILD_FOLDER%\test\fuzzinput\answer_aaaa" |
| |
| #on_finish: |
| # - cd C:\projects\build-cares\test |
| # - dir /B *.log > list.txt |
| # - cmake -E tar cfv all_tests.zip --format=zip --files-from=list.txt |
| # - appveyor PushArtifact all_tests.zip |
| # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) |
| # Force build worker to stay open after build is done, so we can RDP into it. |
| |
| # Enable RDP connections into build worker. |
| #init: |
| # - ps: iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) |