mirror of
https://github.com/libevent/libevent.git
synced 2025-01-31 09:12:55 +08:00
appveyor: support cmake & autotools using build matrix (like travis-ci has)
This will allow us to avoid possible compilation regressions, and also some failures in different environments (for example because of different sizeof(size_t)). For example we can avoid next issues: - #361 - #314 - #311 (And I'm pretty sure that this is not complete list) And of course it reduce job for maintainers. But it also have one downside, appveyor doesn't have such concurrency like travis-ci, so it can take a while to finish the whole build, but we can resolve this later, or reduce build matrix to only one for autotools and one for cmake. Fixes: #364
This commit is contained in:
parent
8a2c6c7759
commit
8f95015543
64
appveyor.yml
64
appveyor.yml
@ -1,7 +1,7 @@
|
|||||||
version: 2.1.5.{build}
|
version: 2.1.5.{build}
|
||||||
shallow_clone: true
|
shallow_clone: true
|
||||||
|
|
||||||
os: Visual Studio 2015 RC
|
os: Visual Studio 2015
|
||||||
|
|
||||||
build:
|
build:
|
||||||
verbosity: detailed
|
verbosity: detailed
|
||||||
@ -9,37 +9,53 @@ build:
|
|||||||
environment:
|
environment:
|
||||||
global:
|
global:
|
||||||
CYG_ROOT: C:/MinGW/msys/1.0
|
CYG_ROOT: C:/MinGW/msys/1.0
|
||||||
|
matrix:
|
||||||
|
- EVENT_BUILD_METHOD: "autotools"
|
||||||
|
EVENT_CONFIGURE_OPTIONS: ""
|
||||||
|
- EVENT_BUILD_METHOD: "autotools"
|
||||||
|
EVENT_CONFIGURE_OPTIONS: "--disable-openssl"
|
||||||
|
- EVENT_BUILD_METHOD: "autotools"
|
||||||
|
EVENT_CONFIGURE_OPTIONS: "--disable-thread-support"
|
||||||
|
- EVENT_BUILD_METHOD: "autotools"
|
||||||
|
EVENT_CONFIGURE_OPTIONS: "--disable-debug-mode"
|
||||||
|
- EVENT_BUILD_METHOD: "autotools"
|
||||||
|
EVENT_CONFIGURE_OPTIONS: "--disable-malloc-replacement"
|
||||||
|
- EVENT_BUILD_METHOD: "cmake"
|
||||||
|
EVENT_CMAKE_OPTIONS: ""
|
||||||
|
- EVENT_BUILD_METHOD: "cmake"
|
||||||
|
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_OPENSSL=ON"
|
||||||
|
- EVENT_BUILD_METHOD: "cmake"
|
||||||
|
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_THREAD_SUPPORT=ON"
|
||||||
|
- EVENT_BUILD_METHOD: "cmake"
|
||||||
|
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_DEBUG_MODE=ON"
|
||||||
|
- EVENT_BUILD_METHOD: "cmake"
|
||||||
|
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_MM_REPLACEMENT=ON"
|
||||||
|
- EVENT_BUILD_METHOD: "cmake"
|
||||||
|
EVENT_CMAKE_OPTIONS: "-DEVENT__ENABLE_VERBOSE_DEBUG=ON"
|
||||||
init:
|
init:
|
||||||
- 'echo Building libevent %version% for Windows'
|
- 'echo Building libevent %version% for Windows'
|
||||||
- 'echo System architecture: %PLATFORM%'
|
- 'echo System architecture: %PLATFORM%'
|
||||||
- 'echo Repo build branch is: %APPVEYOR_REPO_BRANCH%'
|
- 'echo Repo build branch is: %APPVEYOR_REPO_BRANCH%'
|
||||||
- 'echo Build folder is: %APPVEYOR_BUILD_FOLDER%'
|
- 'echo Build folder is: %APPVEYOR_BUILD_FOLDER%'
|
||||||
|
- 'echo Repo build commit is: %APPVEYOR_REPO_COMMIT%'
|
||||||
|
- 'echo Cygwin root is: %CYG_ROOT%'
|
||||||
install:
|
install:
|
||||||
- set PATH=%PATH%;C:\MinGW\msys\1.0\bin;C:\MinGW\bin
|
|
||||||
- appveyor DownloadFile https://strcpy.net/packages/Win32OpenSSL-1_0_2a.exe
|
- appveyor DownloadFile https://strcpy.net/packages/Win32OpenSSL-1_0_2a.exe
|
||||||
- Win32OpenSSL-1_0_2a.exe /silent /verysilent /sp- /suppressmsgboxes
|
- Win32OpenSSL-1_0_2a.exe /silent /verysilent /sp- /suppressmsgboxes
|
||||||
|
|
||||||
build_script:
|
build_script:
|
||||||
- cmd: 'echo Cygwin root is: %CYG_ROOT%'
|
- ps: |
|
||||||
- cmd: 'echo Build folder is: %APPVEYOR_BUILD_FOLDER%'
|
if ($env:EVENT_BUILD_METHOD -eq 'autotools') {
|
||||||
- cmd: 'echo Repo build branch is: %APPVEYOR_REPO_BRANCH%'
|
$env:PATH="$env:CYG_ROOT\bin;C:\MinGW\bin;$($env:PATH)"
|
||||||
- cmd: 'echo Repo build commit is: %APPVEYOR_REPO_COMMIT%'
|
mingw-get install autotools autoconf automake
|
||||||
- cmd: "echo installing stuff"
|
bash -lc "echo 'C:\MinGW /mingw' > /etc/fstab"
|
||||||
- cmd: 'echo "C:\MinGW /mingw" >%CYG_ROOT%/etc/fstab'
|
$env:APPVEYOR_BUILD_FOLDER = $env:APPVEYOR_BUILD_FOLDER -replace "\\", "/"
|
||||||
- cmd: 'C:\MinGW\bin\mingw-get install autotools autoconf automake python'
|
bash -lc "exec 0</dev/null; cd $env:APPVEYOR_BUILD_FOLDER; bash -x ./autogen.sh && ./configure $env:EVENT_CONFIGURE_OPTIONS && make && make verify"
|
||||||
- cmd: 'echo Autogen running...'
|
} else {
|
||||||
- cmd: '%CYG_ROOT%/bin/bash -lc "cd $APPVEYOR_BUILD_FOLDER; exec 0</dev/null;mount C:/MinGW /mingw; bash -x ./autogen.sh; ./configure; make; make verify"'
|
md build
|
||||||
|
cd build
|
||||||
#install:
|
cmake .. $env:EVENT_CMAKE_OPTIONS
|
||||||
# - appveyor DownloadFile https://strcpy.net/packages/Win32OpenSSL-1_0_2a.exe
|
cmake --build .
|
||||||
# - Win32OpenSSL-1_0_2a.exe /silent /verysilent /sp- /suppressmsgboxes
|
ctest --output-on-failure
|
||||||
#build_script:
|
}
|
||||||
# - md build
|
|
||||||
# - cd build
|
|
||||||
# - cmake ..
|
|
||||||
# - cmake --build .
|
|
||||||
# - ctest --output-on-failure
|
|
||||||
cache:
|
cache:
|
||||||
- C:\OpenSSL-Win32
|
- C:\OpenSSL-Win32
|
||||||
|
Loading…
x
Reference in New Issue
Block a user