blob: 8afb0abfa7170d33b00e7b90e152cb33d32d3410 [file] [log] [blame]
Roger Meierdf71a2e2015-04-09 01:06:49 +02001# Licensed to the Apache Software Foundation (ASF) under one
2# or more contributor license agreements. See the NOTICE file
3# distributed with this work for additional information
4# regarding copyright ownership. The ASF licenses this file
5# to you under the Apache License, Version 2.0 (the
6# "License"); you may not use this file except in compliance
7# with the License. You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing,
12# software distributed under the License is distributed on an
13# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14# KIND, either express or implied. See the License for the
15# specific language governing permissions and limitations
16# under the License.
17#
18
19# build Apache Thrift on AppVeyor - https://ci.appveyor.com
20
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090021shallow_clone: true
22clone_depth: 10
23
Roger Meierdf71a2e2015-04-09 01:06:49 +020024version: '{build}'
25os:
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090026# - Windows Server 2012 R2
27- Visual Studio 2015
Roger Meierdf71a2e2015-04-09 01:06:49 +020028
29environment:
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090030 BOOST_ROOT: C:\Libraries\boost_1_59_0
31 BOOST_LIBRARYDIR: C:\Libraries\boost_1_59_0\lib64-msvc-14.0
Roger Meierdf71a2e2015-04-09 01:06:49 +020032
Roger Meier5d0a8062015-04-12 21:06:11 +020033install:
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090034- '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64'
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090035- cd \
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090036 # Zlib
37- appveyor DownloadFile https://github.com/madler/zlib/archive/v1.2.8.tar.gz
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090038- 7z x v1.2.8.tar.gz -so | 7z x -si -ttar > nul
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090039- cd zlib-1.2.8
40- cmake -G "Visual Studio 14 2015 Win64" .
41- cmake --build . --config release
42- cd ..
43 # OpenSSL
Nobuaki Sukegawa1ea3ca52016-02-01 22:01:14 +090044- appveyor DownloadFile https://slproweb.com/download/Win64OpenSSL-1_0_2f.exe
45- ps: Start-Process Win64OpenSSL-1_0_2f.exe -ArgumentList "/silent /verysilent /sp- /suppressmsgboxes" -Wait
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090046 # Libevent
47- appveyor DownloadFile https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090048- 7z x libevent-2.0.22-stable.tar.gz -so | 7z x -si -ttar > nul
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090049- cd libevent-2.0.22-stable
50- nmake -f Makefile.nmake
51- mkdir lib
52- move *.lib lib\
53- move WIN32-Code\event2\* include\event2\
54- move *.h include\
55- cd ..
Roger Meierdf71a2e2015-04-09 01:06:49 +020056- cinst winflexbison
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090057- appveyor DownloadFile http://www.us.apache.org/dist//ant/binaries/apache-ant-1.9.6-bin.zip
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090058- 7z x apache-ant-1.9.6-bin.zip > nul
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090059- cd %APPVEYOR_BUILD_FOLDER%
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090060# TODO: Enable Haskell build
61# - cinst HaskellPlatform -version 2014.2.0.0
62
Roger Meierdf71a2e2015-04-09 01:06:49 +020063
64build_script:
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090065- set PATH=C:\ProgramData\chocolatey\bin;C:\apache-ant-1.9.6\bin;%PATH%
66- set JAVA_HOME=C:\Program Files\Java\jdk1.7.0
67- set PATH=%JAVA_HOME%\bin;%PATH%
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090068# - set PATH=%PATH%;C:\Program Files (x86)\Haskell Platform\2014.2.0.0\bin
69# - set PATH=%PATH%;C:\Program Files (x86)\Haskell Platform\2014.2.0.0\lib\extralibs\bin
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090070- set PATH=C:\Python27-x64\scripts;C:\Python27-x64;%PATH%
Roger Meierdf71a2e2015-04-09 01:06:49 +020071- mkdir cmake-build
72- cd cmake-build
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090073- cmake -G "Visual Studio 14 2015 Win64" -DWITH_SHARED_LIB=OFF -DLIBEVENT_ROOT=C:\libevent-2.0.22-stable -DZLIB_INCLUDE_DIR=C:\zlib-1.2.8 -DZLIB_LIBRARY=C:\zlib-1.2.8\release\zlibstatic.lib -DBOOST_ROOT="%BOOST_ROOT%" -DBOOST_LIBRARYDIR="%BOOST_LIBRARYDIR%" ..
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090074- findstr /b /e BUILD_COMPILER:BOOL=ON CMakeCache.txt
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090075- findstr /b /e BUILD_CPP:BOOL=ON CMakeCache.txt
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090076- findstr /b /e BUILD_JAVA:BOOL=ON CMakeCache.txt
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090077- findstr /b /e BUILD_PYTHON:BOOL=ON CMakeCache.txt
78# - findstr /b /e BUILD_C_GLIB:BOOL=ON CMakeCache.txt
79# - findstr /b /e BUILD_HASKELL:BOOL=ON CMakeCache.txt
Nobuaki Sukegawaaa7d0d52016-02-27 03:04:34 +090080- findstr /b /e BUILD_TESTING:BOOL=ON CMakeCache.txt
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090081# - cmake --build .
Roger Meierdf71a2e2015-04-09 01:06:49 +020082- cmake --build . --config Release
Nobuaki Sukegawae8c71d82015-11-23 19:51:37 +090083# TODO: Fix cpack
84# - cpack
Nobuaki Sukegawa1425c5a2016-02-28 12:26:48 +090085# TODO: Run more tests
86# CTest fails to invoke ant seemingly due to "ant.bat" v.s. "ant" (shell script) conflict.
87# Currently, everything that involves OpenSSL seems to hang forever on our Appveyor setup.
88# Also a few C++ tests hang (on Appveyor or on Windows in general).
89- ctest -C Release --timeout 600 -VV -E "(concurrency_test|processor_test|TInterruptTest|StressTestNonBlocking|OpenSSLManualInitTest|SecurityTest|PythonTestSSLSocket|python_test$|^Java)"
Roger Meierdf71a2e2015-04-09 01:06:49 +020090
Roger Meier5d0a8062015-04-12 21:06:11 +020091#TODO make it perfect ;-r