summaryrefslogtreecommitdiff
path: root/appveyor.yml
blob: fbdb79ad7b770fc8bfcf2103471223ac6f6c0298 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#**************************************************************************
#*                                                                        *
#*                                 OCaml                                  *
#*                                                                        *
#*                         Christophe Troestler                           *
#*                                                                        *
#*   Copyright 2015 Christophe Troestler                                  *
#*                                                                        *
#*   All rights reserved.  This file is distributed under the terms of    *
#*   the GNU Lesser General Public License version 2.1, with the          *
#*   special exception on linking described in the file LICENSE.          *
#*                                                                        *
#**************************************************************************

# Compile the 64 bits version
platform:
  - x64

image: Visual Studio 2015

branches:
  only:
    - trunk
    - 4.05

# Do a shallow clone of the repo to speed up the build
clone_depth: 1

environment:
  global:
    CYG_ROOT: C:/cygwin64
    CYG_MIRROR: http://mirrors.kernel.org/sourceware/cygwin/
    CYG_CACHE: C:/cygwin64/var/cache/setup
    OCAMLRUNPARAM: v=0,b
    OCAMLROOT: "%PROGRAMFILES%/OCaml"
    OCAMLROOT2: "%PROGRAMFILES%/OCaml-mingw32"

cache:
  - C:\cygwin64\var\cache\setup

install:
  - mkdir "%OCAMLROOT%/bin/flexdll"
  - appveyor DownloadFile "http://alain.frisch.fr/flexdll/flexdll-bin-0.35.zip" -FileName "flexdll.zip"
  - appveyor DownloadFile "http://alain.frisch.fr/flexdll/flexdll-0.35.tar.gz" -FileName "flexdll.tar.gz"
  - cinst 7zip.commandline
  - mkdir flexdll-tmp
  - cd flexdll-tmp
  - 7za x -y ..\flexdll.zip
  - for %%F in (flexdll.h flexlink.exe default_amd64.manifest) do copy %%F "%OCAMLROOT%\bin\flexdll"
  - cd ..
  # Make sure the Cygwin path comes before the Git one (otherwise
  # cygpath behaves crazily), but after the MSVC one.
  - set Path=C:\cygwin64\bin;%OCAMLROOT%\bin\flexdll;%Path%
  - '%CYG_ROOT%\bin\bash -lc "cygcheck -dc cygwin"'
  - '"%CYG_ROOT%\setup-x86_64.exe" -qgnNdO -R "%CYG_ROOT%" -s "%CYG_MIRROR%" -l "%CYG_CACHE%" -P diffutils -P make -P mingw64-i686-gcc-core >NUL'
  - '%CYG_ROOT%\bin\bash -lc "cygcheck -dc cygwin"'
  - set OCAML_PREV_PATH=%PATH%
  - set OCAML_PREV_LIB=%LIB%
  - set OCAML_PREV_INCLUDE=%INCLUDE%
  - call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"

build_script:
  - "%CYG_ROOT%/bin/bash -lc \"echo 'eval $($APPVEYOR_BUILD_FOLDER/tools/msvs-promote-path)' >> ~/.bash_profile\""
  - '%CYG_ROOT%/bin/bash -lc "$APPVEYOR_BUILD_FOLDER/appveyor_build.sh"'
  - set PATH=%OCAML_PREV_PATH%
  - set LIB=%OCAML_PREV_LIB%
  - set INCLUDE=%OCAML_PREV_INCLUDE%
  - call "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.cmd" /x86
  - '%CYG_ROOT%/bin/bash -lc "$APPVEYOR_BUILD_FOLDER/appveyor_build.sh msvc32-only"'

test_script:
  - set PATH=%OCAML_PREV_PATH%
  - set LIB=%OCAML_PREV_LIB%
  - set INCLUDE=%OCAML_PREV_INCLUDE%
  - call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin\amd64\vcvars64.bat"
  - '%APPVEYOR_BUILD_FOLDER%\ocamlc.opt -version'
  - set CAML_LD_LIBRARY_PATH=%OCAMLROOT%/lib/stublibs
  - '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER && make tests"'
  - '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER/../build-mingw32 && make tests"'
  - '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER && make install"'
  - '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER/../build-mingw32 && make install"'