mirror of
https://github.com/libevent/libevent.git
synced 2025-01-09 00:56:20 +08:00
8be8ac4602
Example: find_package(Libevent 2.2.0 REQUIRED COMPONENTS core) add_executable(test test.c) target_link_libraries(test ${LIBEVENT_LIBRARIES}) * upstream/pr/929: CI: integrate testing for components export cmake: test for find_package() cmake: improve package config file
154 lines
5.4 KiB
YAML
154 lines
5.4 KiB
YAML
---
|
|
version: 2.2.0.{build}
|
|
|
|
os:
|
|
- Visual Studio 2017
|
|
- Visual Studio 2019
|
|
platform:
|
|
- x64
|
|
|
|
branches:
|
|
except:
|
|
- /.*travis.*/
|
|
- /.*linux.*/
|
|
- /.*freebsd.*/
|
|
- /.*osx.*/
|
|
- /.*bitrise.*/
|
|
skip_commits:
|
|
message: /travis/
|
|
files:
|
|
- .travis.yml
|
|
|
|
environment:
|
|
global:
|
|
APPVEYOR_SAVE_CACHE_ON_ERROR: true
|
|
OPENSSL_ROOT: C:/OpenSSL-Win64
|
|
PYTHON3: C:/Python37-x64/python.exe
|
|
MPATH: C:/mingw-w64/x86_64-7.2.0-posix-seh-rt_v5-rev1/mingw64/bin;C:/msys64/usr/bin
|
|
# Do not run tests in parallel to reduce false-positive
|
|
EVENT_TESTS_PARALLEL: 1
|
|
EVENT_BUILD_PARALLEL: 10
|
|
matrix:
|
|
- EVENT_BUILD_METHOD: "cmake"
|
|
EVENT_CMAKE_OPTIONS: ""
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "cmake"
|
|
EVENT_CMAKE_OPTIONS: "-DEVENT__LIBRARY_TYPE=STATIC"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "autotools"
|
|
EVENT_CONFIGURE_OPTIONS: ""
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "autotools"
|
|
EVENT_CONFIGURE_OPTIONS: "--disable-openssl"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "autotools"
|
|
EVENT_CONFIGURE_OPTIONS: "--disable-thread-support"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "autotools"
|
|
EVENT_CONFIGURE_OPTIONS: "--disable-debug-mode"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "autotools"
|
|
EVENT_CONFIGURE_OPTIONS: "--disable-malloc-replacement"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "cmake"
|
|
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_OPENSSL=ON"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "cmake"
|
|
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_THREAD_SUPPORT=ON"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "cmake"
|
|
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_DEBUG_MODE=ON"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "cmake"
|
|
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_MM_REPLACEMENT=ON"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "cmake"
|
|
EVENT_CMAKE_OPTIONS: "-DCMAKE_C_FLAGS='-DUNICODE -D_UNICODE'"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- EVENT_BUILD_METHOD: "cmake"
|
|
EVENT_CMAKE_OPTIONS: ""
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
|
|
- EVENT_BUILD_METHOD: "cmake"
|
|
EVENT_CMAKE_OPTIONS: "-DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
TEST_EXPORT: "SHARED"
|
|
- EVENT_BUILD_METHOD: "cmake"
|
|
EVENT_CMAKE_OPTIONS: "-DEVENT__LIBRARY_TYPE=STATIC -DEVENT__DISABLE_TESTS=ON -DEVENT__DISABLE_SAMPLES=ON"
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
TEST_EXPORT: "STATIC"
|
|
|
|
matrix:
|
|
exclude:
|
|
- os: Visual Studio 2019
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
|
|
- os: Visual Studio 2017
|
|
APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
|
|
fast_finish: true
|
|
|
|
init:
|
|
- 'echo Repo build branch is: %APPVEYOR_REPO_BRANCH%'
|
|
- 'echo Build folder is: %APPVEYOR_BUILD_FOLDER%'
|
|
- 'echo Repo build commit is: %APPVEYOR_REPO_COMMIT%'
|
|
- 'echo PATH is: %PATH%'
|
|
|
|
build_script:
|
|
- ps: |
|
|
if ($env:EVENT_BUILD_METHOD -eq 'autotools') {
|
|
$env:PATH="$env:MPATH;$env:OPENSSL_ROOT/bin;$env:PATH"
|
|
$env:LDFLAGS="-L$($env:OPENSSL_ROOT)/lib -L$($env:OPENSSL_ROOT)"
|
|
$env:CFLAGS="-I$($env:OPENSSL_ROOT)/include"
|
|
|
|
$script='
|
|
./autogen.sh 2>&1 3>&1
|
|
[[ $? -ne 0 ]] && exit 1
|
|
|
|
mkdir build-autotools 2>/dev/null
|
|
cd build-autotools
|
|
[[ $? -ne 0 ]] && exit 1
|
|
|
|
../configure $EVENT_CONFIGURE_OPTIONS 2>&1
|
|
[[ $? -ne 0 ]] && exit 1
|
|
make -j $EVENT_BUILD_PARALLEL 2>&1
|
|
[[ $? -ne 0 ]] && exit 1
|
|
make verify -j $EVENT_TESTS_PARALLEL 2>&1 '
|
|
|
|
bash -c $script
|
|
|
|
} else {
|
|
$env:PATH="$env:OPENSSL_ROOT/bin;$env:PATH"
|
|
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq 'Visual Studio 2017') {
|
|
$env:BUILD_DIR="build-cmake"
|
|
}
|
|
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq 'Visual Studio 2019') {
|
|
$env:BUILD_DIR="build-cmake-vs2019"
|
|
}
|
|
md $env:BUILD_DIR 2> $null
|
|
cd $env:BUILD_DIR
|
|
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
|
|
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq 'Visual Studio 2017') {
|
|
cmake -G "Visual Studio 15 2017 Win64" .. $env:EVENT_CMAKE_OPTIONS
|
|
}
|
|
if ($env:APPVEYOR_BUILD_WORKER_IMAGE -eq 'Visual Studio 2019') {
|
|
cmake -G "Visual Studio 16 2019" -A x64 .. $env:EVENT_CMAKE_OPTIONS
|
|
}
|
|
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
|
|
cmake --build . -j $env:EVENT_BUILD_PARALLEL -- /nologo /verbosity:minimal
|
|
if ($LastExitCode -ne 0) { $host.SetShouldExit($LastExitCode) }
|
|
if ($env:TEST_EXPORT -eq 'STATIC') {
|
|
&$env:PYTHON3 ../test-export/test-export.py static
|
|
} elseif ($env:TEST_EXPORT -eq 'SHARED') {
|
|
&$env:PYTHON3 ../test-export/test-export.py shared
|
|
} else {
|
|
ctest --output-on-failure -j $env:EVENT_TESTS_PARALLEL
|
|
}
|
|
}
|
|
|
|
cache:
|
|
- build-cmake
|
|
- build-cmake-vs2019
|
|
- build-autotools
|
|
|
|
on_failure:
|
|
- 7z a libevent.zip .
|
|
- appveyor PushArtifact libevent.zip
|