mirror of https://github.com/c-ares/c-ares.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
6.7 KiB
129 lines
6.7 KiB
# Copyright (C) The c-ares project and its contributors |
|
# SPDX-License-Identifier: MIT |
|
|
|
image: 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 |
|
|
|
# List of build configurations to test. |
|
configuration: |
|
- RelWithDebInfo |
|
|
|
# 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: |
|
# MinGW via MSYS2 (latest version) |
|
- COMPILER: MINGW |
|
BUILDTOOL: MSYS2-CMAKE |
|
MSYSTEM: MINGW64 |
|
CHERE_INVOKING: YES |
|
|
|
# MSVC 2015, 32-bit x86 (cmake) |
|
- COMPILER: MSVC |
|
BUILDTOOL: CMAKE |
|
MSVC_SETUP_ARG: x86 |
|
MSVC_SETUP_PATH: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat |
|
|
|
# MSVC 2015, 64-bit x86 (cmake) |
|
- COMPILER: MSVC |
|
BUILDTOOL: CMAKE |
|
MSVC_SETUP_ARG: x64 |
|
MSVC_SETUP_PATH: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat |
|
|
|
# MinGW, 32-bit x86 (cmake) |
|
- COMPILER: MINGW |
|
BUILDTOOL: CMAKE |
|
PATH: C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin;%PATH% |
|
|
|
# MinGW, 32-bit x86 (cmake static only) |
|
- COMPILER: MINGW |
|
BUILDTOOL: CMAKESTATIC |
|
PATH: C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin;%PATH% |
|
|
|
# MSVC 2015, 32-bit x86 (nmake) |
|
- COMPILER: MSVC |
|
BUILDTOOL: NMAKE |
|
MSVC_SETUP_ARG: x86 |
|
MSVC_SETUP_PATH: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars32.bat |
|
|
|
# MSVC 2015, 64-bit x86 (nmake) |
|
- COMPILER: MSVC |
|
BUILDTOOL: NMAKE |
|
MSVC_SETUP_ARG: x64 |
|
MSVC_SETUP_PATH: C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat |
|
|
|
# MinGW, 32-bit x86 (makefiles) |
|
- COMPILER: MINGW |
|
BUILDTOOL: MAKE |
|
PATH: C:\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin;%PATH% |
|
|
|
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 "%BUILDTOOL%" == "MSYS2-CMAKE" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Syuu" |
|
- if "%BUILDTOOL%" == "MSYS2-CMAKE" C:\msys64\usr\bin\bash -lc "pacman --noconfirm -Syu git mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-check mingw-w64-x86_64-ninja" |
|
|
|
build_script: |
|
- if "%BUILDTOOL%" == "MSYS2-CMAKE" C:\msys64\usr\bin\bash -lc "cmake -GNinja -DCMAKE_BUILD_TYPE=%configuration% -DCMAKE_INSTALL_PREFIX=C:/projects/build-cares/test_install -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -DCARES_BUILD_TESTS=ON %CMAKE_EXTRA_OPTIONS% ." |
|
- if "%BUILDTOOL%" == "MSYS2-CMAKE" C:\msys64\usr\bin\bash -lc "ninja -v install" |
|
- if "%BUILDTOOL%" == "NMAKE" copy .\include\ares_build.h.dist .\include\ares_build.h |
|
- if "%BUILDTOOL%" == "NMAKE" nmake /NOLOGO /f .\Makefile.msvc |
|
- if "%BUILDTOOL%" == "CMAKE" mkdir C:\projects\build-cares |
|
- if "%BUILDTOOL%" == "CMAKE" cd C:\projects\build-cares |
|
- if "%BUILDTOOL%" == "CMAKE" cmake -GNinja -DCMAKE_BUILD_TYPE=%configuration% -DCMAKE_INSTALL_PREFIX=C:\projects\build-cares\test_install -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -DCARES_BUILD_TESTS=ON %CMAKE_EXTRA_OPTIONS% %APPVEYOR_BUILD_FOLDER% |
|
- if "%BUILDTOOL%" == "CMAKE" ninja -v install |
|
- if "%BUILDTOOL%" == "CMAKESTATIC" mkdir C:\projects\build-cares |
|
- if "%BUILDTOOL%" == "CMAKESTATIC" cd C:\projects\build-cares |
|
- if "%BUILDTOOL%" == "CMAKESTATIC" cmake -GNinja -DCMAKE_BUILD_TYPE=%configuration% -DCMAKE_INSTALL_PREFIX=C:\projects\build-cares\test_install -DCARES_SHARED=OFF -DCARES_STATIC=ON -DCARES_STATIC_PIC=ON -DCARES_BUILD_TESTS=ON %CMAKE_EXTRA_OPTIONS% %APPVEYOR_BUILD_FOLDER% |
|
- if "%BUILDTOOL%" == "CMAKESTATIC" ninja -v install |
|
- if "%BUILDTOOL%" == "MAKE" copy .\include\ares_build.h.dist .\include\ares_build.h |
|
- if "%BUILDTOOL%" == "MAKE" mingw32-make.exe -f Makefile.m32 demos |
|
|
|
test_script: |
|
# We can't use powershell for tests due to treating stderr as an error |
|
- if "%BUILDTOOL%" == "MSYS2-CMAKE" C:\msys64\usr\bin\bash -lc "./bin/adig.exe www.google.com" |
|
- if "%BUILDTOOL%" == "MSYS2-CMAKE" C:\msys64\usr\bin\bash -lc "./bin/ahost.exe www.google.com" |
|
- if "%BUILDTOOL%" == "MSYS2-CMAKE" C:\msys64\usr\bin\bash -lc "./bin/arestest.exe -4 -v --gtest_filter=-*LiveSearchTXT*:*LiveSearchANY*:*LiveGetLocalhostByAddr*" |
|
- if "%BUILDTOOL%" == "NMAKE" cd test |
|
- if "%BUILDTOOL%" == "NMAKE" nmake /NOLOGO /f .\Makefile.msvc vtest |
|
- if "%BUILDTOOL%" == "NMAKE" nmake /NOLOGO /f .\Makefile.msvc aresfuzz aresfuzzname dnsdump |
|
- if "%BUILDTOOL%" == "NMAKE" .\msvc\arestest\lib-debug\dnsdump.exe fuzzinput\answer_a fuzzinput\answer_aaaa |
|
- if "%BUILDTOOL%" == "MAKE" cd test |
|
- if "%BUILDTOOL%" == "MAKE" mingw32-make.exe -f Makefile.m32 |
|
- if "%BUILDTOOL%" == "MAKE" mingw32-make.exe -f Makefile.m32 aresfuzz.exe aresfuzzname.exe dnsdump.exe |
|
- if "%BUILDTOOL%" == "MAKE" .\dnsdump.exe fuzzinput\answer_a fuzzinput\answer_aaaa |
|
- if "%BUILDTOOL%" == "CMAKE" cd C:\projects\build-cares\bin |
|
- if "%BUILDTOOL%" == "CMAKE" .\adig.exe www.google.com |
|
- if "%BUILDTOOL%" == "CMAKE" .\ahost.exe www.google.com |
|
- if "%BUILDTOOL%" == "CMAKE" .\arestest.exe -4 -v --gtest_filter=-*LiveSearchTXT*:*LiveSearchANY*:*LiveGetLocalhostByAddr* |
|
- if "%BUILDTOOL%" == "CMAKE" .\dnsdump.exe "%APPVEYOR_BUILD_FOLDER%\test\fuzzinput\answer_a" "%APPVEYOR_BUILD_FOLDER%\test\fuzzinput\answer_aaaa" |
|
- if "%BUILDTOOL%" == "CMAKESTATIC" cd C:\projects\build-cares\bin |
|
- if "%BUILDTOOL%" == "CMAKESTATIC" .\adig.exe www.google.com |
|
- if "%BUILDTOOL%" == "CMAKESTATIC" .\ahost.exe www.google.com |
|
- if "%BUILDTOOL%" == "CMAKESTATIC" .\arestest.exe -4 -v --gtest_filter=-*LiveSearchTXT*:*LiveSearchANY*:*LiveGetLocalhostByAddr* |
|
- if "%BUILDTOOL%" == "CMAKESTATIC" .\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'))
|
|
|