1# uriparser - RFC 3986 URI parsing library
2#
3# Copyright (C) 2018, Sebastian Pipping <sebastian@pipping.org>
4# All rights reserved.
5#
6# Redistribution and use in source  and binary forms, with or without
7# modification, are permitted provided  that the following conditions
8# are met:
9#
10#     1. Redistributions  of  source  code   must  retain  the  above
11#        copyright notice, this list  of conditions and the following
12#        disclaimer.
13#
14#     2. Redistributions  in binary  form  must  reproduce the  above
15#        copyright notice, this list  of conditions and the following
16#        disclaimer  in  the  documentation  and/or  other  materials
17#        provided with the distribution.
18#
19#     3. Neither the  name of the  copyright holder nor the  names of
20#        its contributors may be used  to endorse or promote products
21#        derived from  this software  without specific  prior written
22#        permission.
23#
24# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
25# "AS IS" AND  ANY EXPRESS OR IMPLIED WARRANTIES,  INCLUDING, BUT NOT
26# LIMITED TO,  THE IMPLIED WARRANTIES OF  MERCHANTABILITY AND FITNESS
27# FOR  A  PARTICULAR  PURPOSE  ARE  DISCLAIMED.  IN  NO  EVENT  SHALL
28# THE  COPYRIGHT HOLDER  OR CONTRIBUTORS  BE LIABLE  FOR ANY  DIRECT,
29# INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30# (INCLUDING, BUT NOT LIMITED TO,  PROCUREMENT OF SUBSTITUTE GOODS OR
31# SERVICES; LOSS OF USE, DATA,  OR PROFITS; OR BUSINESS INTERRUPTION)
32# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
33# STRICT  LIABILITY,  OR  TORT (INCLUDING  NEGLIGENCE  OR  OTHERWISE)
34# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
35# OF THE POSSIBILITY OF SUCH DAMAGE.
36#
37version: '{build}-{branch}'
38
39configuration:
40  - Debug
41# - Release
42
43environment:
44  GTEST_VERSION: 1.10.0
45
46  # https://www.appveyor.com/docs/windows-images-software/
47  matrix:
48  # Visual Studio 2015, 32 bit
49    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
50      CMAKE_GENERATOR: Visual Studio 14 2015
51      PLATFORM: Win32
52
53  # Visual Studio 2015, 64 bit
54    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015
55      CMAKE_GENERATOR: Visual Studio 14 2015 Win64
56      PLATFORM: x64
57
58  # Visual Studio 2017, 32 bit
59    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
60      CMAKE_GENERATOR: Visual Studio 15 2017
61      PLATFORM: Win32
62
63  # Visual Studio 2017, 64 bit
64    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
65      CMAKE_GENERATOR: Visual Studio 15 2017 Win64
66      PLATFORM: x64
67
68  # Visual Studio 2019, 32 bit
69    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
70      CMAKE_GENERATOR: Visual Studio 16 2019
71      COMMON_CMAKE_ARGS: -A Win32
72
73  # Visual Studio 2019, 64 bit
74    - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019
75      CMAKE_GENERATOR: Visual Studio 16 2019
76      COMMON_CMAKE_ARGS: -A x64
77
78before_build:
79  - curl -fsSL -o release-%GTEST_VERSION%.zip https://github.com/google/googletest/archive/release-%GTEST_VERSION%.zip
80  - unzip -q release-%GTEST_VERSION%.zip
81  - cd googletest-release-%GTEST_VERSION%
82  - cmake
83      -G "%CMAKE_GENERATOR%"
84      -DCVF_VERSION=%GTEST_VERSION%
85      %COMMON_CMAKE_ARGS%
86      .
87  - cmake --build . --config Release -- /m
88# BEGIN Enrich folder to make FindGTest.cmake happy
89  - md googletest\lib
90  - copy lib\Release\gtest.lib googletest\lib
91  - copy lib\Release\gtest_main.lib googletest\lib
92# END
93  - cd ..
94  - mkdir build
95  - cd build
96# NOTE: GTEST_ROOT is relative to source CMakeLists.txt, not the build directory
97  - cmake
98      -G "%CMAKE_GENERATOR%"
99      -DGTEST_ROOT=googletest-release-%GTEST_VERSION%/googletest
100      -DURIPARSER_BUILD_DOCS=OFF
101      -DURIPARSER_MSVC_RUNTIME=/MT
102      -DURIPARSER_WARNINGS_AS_ERRORS=ON
103      %COMMON_CMAKE_ARGS%
104      ..
105
106build:
107  parallel: true
108  project: $(APPVEYOR_BUILD_FOLDER)\build\$(APPVEYOR_PROJECT_NAME).sln
109
110test_script:
111  - '%APPVEYOR_BUILD_FOLDER%\build\%CONFIGURATION%\testrunner.exe'
112