version: 7.50.0.{build}

environment:
    matrix:
      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
        PRJ_GEN: "Visual Studio 9 2008"
        PRJ_CFG: Release
        OPENSSL: OFF
        WINSSL: ON
        HTTP_ONLY: OFF
        TESTING: OFF
        SHARED: ON
        DISABLED_TESTS: ""
        COMPILER_PATH: ""
      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
        PRJ_GEN: "Visual Studio 15 2017 Win64"
        PRJ_CFG: Debug
        OPENSSL: OFF
        WINSSL: ON
        HTTP_ONLY: OFF
        TESTING: ON
        SHARED: OFF
        DISABLED_TESTS: ""
        COMPILER_PATH: ""
      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
        PRJ_GEN: "Visual Studio 15 2017 Win64"
        PRJ_CFG: Release
        OPENSSL: ON
        WINSSL: OFF
        HTTP_ONLY: OFF
        TESTING: OFF
        SHARED: ON
        DISABLED_TESTS: ""
        COMPILER_PATH: ""
      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
        PRJ_GEN: "Visual Studio 10 2010 Win64"
        PRJ_CFG: Debug
        OPENSSL: OFF
        WINSSL: OFF
        HTTP_ONLY: OFF
        TESTING: ON
        SHARED: OFF
        DISABLED_TESTS: ""
        COMPILER_PATH: ""
      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
        PRJ_GEN: "Visual Studio 15 2017 Win64"
        PRJ_CFG: Debug
        OPENSSL: OFF
        WINSSL: OFF
        HTTP_ONLY: OFF
        TESTING: ON
        SHARED: OFF
        DISABLED_TESTS: ""
        COMPILER_PATH: ""
      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
        PRJ_GEN: "Visual Studio 15 2017 Win64"
        PRJ_CFG: Debug
        OPENSSL: OFF
        WINSSL: OFF
        HTTP_ONLY: ON
        TESTING: ON
        SHARED: OFF
        DISABLED_TESTS: ""
        COMPILER_PATH: ""
      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
        PRJ_GEN: "MSYS Makefiles"
        PRJ_CFG: Debug
        OPENSSL: OFF
        WINSSL: OFF
        HTTP_ONLY: OFF
        TESTING: ON
        SHARED: OFF
        DISABLED_TESTS: "!198"
        COMPILER_PATH: "C:\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin"
        MSYS2_ARG_CONV_EXCL: "/*"
      - APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
        PRJ_GEN: "MSYS Makefiles"
        PRJ_CFG: Debug
        OPENSSL: OFF
        WINSSL: OFF
        HTTP_ONLY: OFF
        TESTING: ON
        SHARED: OFF
        DISABLED_TESTS: ""
        COMPILER_PATH: "C:\\MinGW\\bin"
        MSYS2_ARG_CONV_EXCL: "/*"

install:
    - set "PATH=C:\msys64\usr\bin;%PATH%"
    - if not "%COMPILER_PATH%"=="" (
        set "PATH=%COMPILER_PATH%;%PATH%" )

build_script:
    - cmake .
      -G"%PRJ_GEN%"
      -DCMAKE_USE_OPENSSL=%OPENSSL%
      -DCMAKE_USE_WINSSL=%WINSSL%
      -DHTTP_ONLY=%HTTP_ONLY%
      -DBUILD_SHARED_LIBS=%SHARED%
      -DBUILD_TESTING=%TESTING%
      -DCURL_WERROR=ON
      -DENABLE_DEBUG=ON
      -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE=""
      -DCMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG=""
      -DCMAKE_INSTALL_PREFIX="C:/CURL"
      -DCMAKE_BUILD_TYPE=%PRJ_CFG%
    - cmake --build . --config %PRJ_CFG% --clean-first

test_script:
    - if %TESTING%==ON (
        bash.exe -e -l -c "cd /c/projects/curl/tests && ./runtests.pl -a -p !flaky !1139 %DISABLED_TESTS%" )

# whitelist branches to avoid testing feature branches twice (as branch and as pull request)
branches:
    only:
        - master
        - /\/ci$/
