libevent/appveyor.yml
Azat Khuzhin 8be8ac4602 Merge #929 -- cmake package improvements
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
2019-11-17 02:45:54 +03:00

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