| platform: |
| - x86 |
| - x64 |
| |
| environment: |
| global: |
| MAKEJOBS: 2 |
| |
| matrix: |
| - SWIGLANG: csharp |
| VSVER: 12 |
| - SWIGLANG: csharp |
| VSVER: 14 |
| - SWIGLANG: java |
| VSVER: 14 |
| - SWIGLANG: python |
| VSVER: 14 |
| VER: 27 |
| # - SWIGLANG: python |
| # VSVER: 14 |
| # VER: 36 |
| # PY3: 3 |
| - SWIGLANG: python |
| OSVARIANT: cygwin |
| - SWIGLANG: python |
| OSVARIANT: mingw |
| VER: 27 |
| - SWIGLANG: python |
| OSVARIANT: mingw |
| WITHLANG: python |
| VER: 37 |
| PY3: 3 |
| |
| install: |
| - date /T & time /T |
| - ps: >- |
| if ($env:Platform -eq "x86") { |
| $env:PCRE_PLATFORM="Win32" |
| $env:JAVA_HOME="C:/Program Files (x86)/Java/jdk1.8.0" |
| $env:VCVARS_PLATFORM="x86" |
| $env:LANG_PLATFORM="" |
| $env:CYGWINBIN="C:\cygwin\bin" |
| $env:CYGWINSETUP="C:/cygwin/setup-x86.exe" |
| $env:MSYSBIN="C:\msys64\usr\bin" |
| $env:MINGWBIN="C:\msys64\mingw32\bin" |
| $env:MBITS="32" |
| $env:MARCH="i686" |
| } else { |
| $env:PCRE_PLATFORM="x64" |
| $env:JAVA_HOME="C:/Program Files/Java/jdk1.8.0" |
| $env:VCVARS_PLATFORM="amd64" |
| $env:LANG_PLATFORM="-x64" |
| $env:CYGWINBIN="C:\cygwin64\bin" |
| $env:CYGWINSETUP="C:/cygwin64/setup-x86_64.exe" |
| $env:MSYSBIN="C:\msys64\usr\bin" |
| $env:MINGWBIN="C:\msys64\mingw64\bin" |
| $env:MBITS="64" |
| $env:MARCH="x86_64" |
| } |
| - ps: >- |
| if (!$env:OSVARIANT) { |
| $env:PATH="$env:CYGWINBIN;$env:PATH" |
| $env:CYGWIN="nodosfilewarning" |
| $env:VSCOMNTOOLS=(Get-Content ("env:VS" + "$env:VSVER" + "0COMNTOOLS")) |
| $env:CC="cccl" |
| $env:CXX="cccl" |
| } elseif ($env:OSVARIANT -eq "cygwin") { |
| $env:PATH="$env:CYGWINBIN;$env:PATH" |
| $env:CYGWIN="nodosfilewarning" |
| $env:CC="gcc" |
| $env:CXX="g++" |
| } elseif ($env:OSVARIANT -eq "mingw") { |
| # Note mingw setup tests the native Windows Python distribution (not MinGW Python) with gcc |
| $env:PATH="$env:MINGWBIN;$env:MSYSBIN;$env:PATH" |
| $env:MSYSTEM="MINGW$env:MBITS" # This is important for msys2 |
| $env:CC="gcc" |
| $env:CXX="g++" |
| if ($env:MBITS -eq "64" -and $env:SWIGLANG -eq "python") { |
| $env:CHECK_OPTIONS2="CFLAGS+=-DMS_WIN64 CXXFLAGS+=-DMS_WIN64" |
| } |
| } |
| - if "%OSVARIANT%"=="" bash -c "cd /usr/bin && curl --retry 15 -s -L https://github.com/swig/cccl/archive/cccl-1.0.tar.gz | tar -xz --strip 1 cccl-cccl-1.0/cccl" |
| - if "%OSVARIANT%"=="" echo Using Visual Studio %VSVER%.0 at %VSCOMNTOOLS% |
| - if "%OSVARIANT%"=="" call "%VSCOMNTOOLS%\..\..\VC\vcvarsall.bat" %VCVARS_PLATFORM% |
| - if "%OSVARIANT%"=="" Tools\nuget-install.cmd pcre -Verbosity quiet -Version 8.33.0.1 -OutputDirectory C:\pcre |
| - if "%OSVARIANT%"=="" set PCRE_ROOT=C:/pcre/pcre.8.33.0.1/build/native |
| - if not "%OSVARIANT%"=="cygwin" set PATH=C:\Python%VER%%LANG_PLATFORM%;%PATH% |
| - if "%OSVARIANT%"=="" bash -c "which cl.exe" |
| - if "%OSVARIANT%"=="" bash -c "cl.exe /? 2>&1 | head -n 1" |
| - if "%OSVARIANT%"=="" bash -c "which csc.exe" |
| - if "%OSVARIANT%"=="" bash -c "csc.exe /? | head -n 1" |
| - if "%OSVARIANT%"=="cygwin" %CYGWINSETUP% --quiet-mode --packages python2-devel,libpcre-devel,libboost-devel > cygwin-install.txt || bash -c "cat cygwin-install.txt" |
| - if "%OSVARIANT%"=="mingw" bash -c "pacman --noconfirm --sync mingw%MBITS%/mingw-w64-%MARCH%-pcre mingw%MBITS%/mingw-w64-%MARCH%-boost" |
| - if not "%WITHLANG%"=="" set SWIGWITHLANG==%WITHLANG% |
| - if not "%WITHLANG%"=="" where %WITHLANG% |
| - bash -c "which $CC" |
| - bash -c "which $CXX" |
| - bash -c "$CC --version | head -n 1" |
| - bash -c "$CXX --version | head -n 1" |
| - bash -c "which python" |
| - bash -c "python -V" |
| - bash -c "make --version | head -n 2" |
| - pwd |
| - echo MAKEJOBS=%MAKEJOBS% |
| - uname -a |
| |
| build_script: |
| - set CCCL_OPTIONS=--cccl-muffle /W3 /EHsc |
| - set CHECK_OPTIONS=CSHARPOPTIONS=-platform:%Platform% |
| # Open dummy file descriptor to fix error on cygwin: ./configure: line 560: 0: Bad file descriptor |
| - if "%OSVARIANT%"=="" bash -c "exec 0</dev/null && ./autogen.sh && time ./configure --disable-dependency-tracking --disable-ccache CC=$CC CXX=$CXX CFLAGS='-O2' CXXFLAGS='-O2' LDFLAGS='--cccl-link /LTCG' PCRE_CFLAGS='-I%PCRE_ROOT%/include -DPCRE_STATIC' PCRE_LIBS='-L%PCRE_ROOT%/lib/v110/%PCRE_PLATFORM%/Release/static/utf8 -lpcre8' --without-perl5 --without-go --with-boost=C:/Libraries/boost_1_67_0 || cat config.log" |
| - if not "%OSVARIANT%"=="" bash -c "exec 0</dev/null && ./autogen.sh && time ./configure CC=%CC% CXX=%CXX% --without-alllang --with-$SWIGLANG$PY3$SWIGWITHLANG --enable-cpp11-testing || cat config.log" |
| - bash -c "time make -s -j%MAKEJOBS%" |
| |
| test_script: |
| - set CCCL_OPTIONS=--cccl-muffle /W3 /EHsc |
| - .\swig.exe -version |
| - if not "%OSVARIANT%"=="" CCache\ccache-swig -V |
| - bash -c "file ./swig.exe" |
| - bash -c "make check-%SWIGLANG%-version" |
| - bash -c "make check-%SWIGLANG%-enabled" |
| - bash -c "time make -k check-%SWIGLANG%-examples %CHECK_OPTIONS% %CHECK_OPTIONS2%" |
| - bash -c "time make -k check-%SWIGLANG%-test-suite -j%MAKEJOBS% %CHECK_OPTIONS% %CHECK_OPTIONS2%" |
| |
| # Do not build on tags (GitHub only) |
| skip_tags: true |
| |
| #on_finish: # Display RDP connection information |
| # - ps: $blockRdp = $true; iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/appveyor/ci/master/scripts/enable-rdp.ps1')) |