summaryrefslogtreecommitdiff
path: root/3rdparty/plibsys/appveyor.yml
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/plibsys/appveyor.yml')
-rw-r--r--3rdparty/plibsys/appveyor.yml289
1 files changed, 289 insertions, 0 deletions
diff --git a/3rdparty/plibsys/appveyor.yml b/3rdparty/plibsys/appveyor.yml
new file mode 100644
index 0000000..8b654ca
--- /dev/null
+++ b/3rdparty/plibsys/appveyor.yml
@@ -0,0 +1,289 @@
+environment:
+ COVERITY_SCAN_PROJECT_NAME: "saprykin/plibsys"
+ COVERITY_SCAN_NOTIFICATION_EMAIL: "saprykin.spb@gmail.com"
+ COVERITY_SCAN_TOKEN:
+ secure: 6WFXzLxAMuUovtYc+u8OoruE/V6zhK2M4mZlrszRBIA=
+
+ matrix:
+ - CMAKE_GENERATOR: "Watcom WMake"
+ USE_WATCOM: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "MinGW Makefiles"
+ USE_MINGW: "1"
+ USE_MINGW_493: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "MinGW Makefiles"
+ USE_MINGW: "1"
+ USE_MINGW64: "1"
+ USE_MINGW_540: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "MinGW Makefiles"
+ USE_MINGW: "1"
+ USE_MINGW64: "1"
+ USE_MINGW_630: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "MinGW Makefiles"
+ USE_MINGW: "1"
+ USE_MINGW64: "1"
+ USE_MINGW_730: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "MinGW Makefiles"
+ USE_MINGW: "1"
+ USE_MINGW64: "1"
+ USE_MINGW_810: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Unix Makefiles"
+ USE_MSYS64: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
+ - CMAKE_GENERATOR: "MSYS Makefiles"
+ USE_MSYS64: "1"
+ USE_MINGW64: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
+ - CMAKE_GENERATOR: "Unix Makefiles"
+ USE_CYGWIN: "1"
+ USE_CYGWIN64: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Unix Makefiles"
+ USE_CYGWIN: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Visual Studio 9 2008"
+ USE_OLD_MSBUILD: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Visual Studio 10 2010"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Visual Studio 10 2010 Win64"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Visual Studio 11 2012"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Visual Studio 11 2012 Win64"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Visual Studio 12 2013"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Visual Studio 12 2013 Win64"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Visual Studio 14 2015"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Visual Studio 14 2015 Win64"
+ USE_COVERITY: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+ - CMAKE_GENERATOR: "Visual Studio 15 2017"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
+ - CMAKE_GENERATOR: "Visual Studio 15 2017 Win64"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2017"
+ - CMAKE_GENERATOR: "Visual Studio 16 2019"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
+ - CMAKE_GENERATOR: "Visual Studio 16 2019"
+ CMAKE_GENERATOR_ARCH: "x64"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2019"
+ - CMAKE_GENERATOR: "NMake Makefiles"
+ USE_LLVM: "1"
+ APPVEYOR_BUILD_WORKER_IMAGE: "Visual Studio 2015"
+
+configuration: Release
+
+version: 0.0.1.{build}
+
+branches:
+ only:
+ - master
+ - appveyor_test
+
+clone_folder: c:\projects\plibsys
+
+cache:
+ - c:\projects\i686-4.9.3-release-win32-dwarf-rt_v4-rev1.7z
+ - c:\projects\x86_64-5.4.0-release-win32-seh-rt_v5-rev0.7z
+ - c:\projects\x86_64-6.3.0-release-win32-seh-rt_v5-rev1.7z
+ - c:\projects\x86_64-7.3.0-release-win32-seh-rt_v5-rev0.7z
+ - c:\projects\x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z
+ - c:\projects\open-watcom-c-win32-1.9.exe
+ - c:\cygwin-setup-cache
+
+install:
+ - If "%USE_CYGWIN%" == "1" (
+ If "%USE_CYGWIN64%" == "1" (
+ c:\cygwin64\setup-x86_64.exe -gqnNdO -R c:\cygwin64 -s http://cygwin.mirror.constant.com -l "c:\cygwin-setup-cache" -P cmake -P cygrunsrv
+ ))
+
+ - If "%USE_CYGWIN%" == "1" (
+ If NOT "%USE_CYGWIN64%" == "1" (
+ c:\cygwin\setup-x86.exe -gqnNdO -R c:\cygwin -s http://cygwin.mirror.constant.com -l "c:\cygwin-setup-cache" -P cmake -P cygrunsrv
+ ))
+
+ - ps: >-
+ If ($env:USE_MSYS64 -eq "1") {
+ $env:PATH = "c:\msys64\usr\bin;$env:PATH";
+
+ If ($env:USE_MINGW64 -eq "1") {
+ $env:PATH = "c:\msys64\mingw64\bin;$env:PATH";
+ } Else {
+ & C:\msys64\usr\bin\mkdir -p /var/cache/pacman/pkg;
+ & pacman --sync --noconfirm cmake doxygen;
+ }
+ } ElseIf ($env:USE_MINGW -eq "1") {
+ If ($env:USE_MINGW_493 -eq "1") {
+ $MINGW_BASE = "i686-4.9.3-release-win32-dwarf-rt_v4-rev1";
+ $MINGW_VERSION = "4.9.3";
+ } ElseIf ($env:USE_MINGW_540 -eq "1") {
+ $MINGW_BASE = "x86_64-5.4.0-release-win32-seh-rt_v5-rev0";
+ $MINGW_VERSION = "5.4.0";
+ } ElseIf ($env:USE_MINGW_630 -eq "1") {
+ $MINGW_BASE = "x86_64-6.3.0-release-win32-seh-rt_v5-rev1";
+ $MINGW_VERSION = "6.3.0";
+ } ElseIf ($env:USE_MINGW_730 -eq "1") {
+ $MINGW_BASE = "x86_64-7.3.0-release-win32-seh-rt_v5-rev0";
+ $MINGW_VERSION = "7.3.0";
+ } ElseIf ($env:USE_MINGW_810 -eq "1") {
+ $MINGW_BASE = "x86_64-8.1.0-release-win32-seh-rt_v6-rev0";
+ $MINGW_VERSION = "8.1.0";
+ }
+
+ $MINGW_ARCHIVE = "$MINGW_BASE.7z";
+
+ If ($env:USE_MINGW64 -eq "1") {
+ $MINGW_URL = "https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/$MINGW_VERSION/threads-win32/seh/$MINGW_ARCHIVE/download";
+ } Else {
+ $MINGW_URL = "https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/$MINGW_VERSION/threads-win32/dwarf/$MINGW_ARCHIVE/download";
+ }
+
+ Set-Location c:\projects | Out-Null;
+
+ If (-Not (Test-Path "$MINGW_ARCHIVE")) {
+ & appveyor DownloadFile "$MINGW_URL" -FileName "$MINGW_ARCHIVE";
+ }
+
+ New-Item -ItemType directory -Path "$MINGW_BASE" | Out-Null;
+ Copy-Item "$MINGW_ARCHIVE" "$MINGW_BASE";
+
+ Set-Location "$MINGW_BASE" | Out-Null;
+ & 7z x -y "$MINGW_ARCHIVE";
+
+ If ($env:USE_MINGW64 -eq "1") {
+ $env:PATH = "c:\projects\$MINGW_BASE\mingw64\bin;C:\Program Files (x86)\CMake\bin";
+ } Else {
+ $env:PATH = "c:\projects\$MINGW_BASE\mingw32\bin;C:\Program Files (x86)\CMake\bin";
+ }
+ } ElseIf ($env:USE_WATCOM -eq "1") {
+ $WATCOM_BASE = "open-watcom-c-win32-1.9";
+ $WATCOM_INSTALLER = "$WATCOM_BASE.exe";
+ $WATCOM_URL = "https://sourceforge.net/projects/openwatcom/files/open-watcom-1.9/$WATCOM_INSTALLER/download";
+
+ Set-Location c:\projects | Out-Null;
+
+ If (-Not (Test-Path "$WATCOM_INSTALLER")) {
+ & appveyor DownloadFile "$WATCOM_URL" -FileName "$WATCOM_INSTALLER";
+ }
+
+ New-Item -ItemType directory -Path "$WATCOM_BASE" | Out-Null;
+ Copy-Item "$WATCOM_INSTALLER" "$WATCOM_BASE";
+
+ Set-Location "$WATCOM_BASE" | Out-Null;
+ & 7z x -y "$WATCOM_INSTALLER";
+
+ $CUR_LOCATION = "c:\projects\$WATCOM_BASE";
+
+ $env:PATH = "$CUR_LOCATION\binw;$env:PATH";
+ $env:PATH = "$CUR_LOCATION\binnt;$env:PATH";
+ $env:INCLUDE = "$CUR_LOCATION\h\nt;$env:INCLUDE";
+ $env:INCLUDE = "$env:INCLUDE;$CUR_LOCATION\h\nt\directx";
+ $env:INCLUDE = "$env:INCLUDE;$CUR_LOCATION\h\nt\ddk";
+ $env:INCLUDE = "$CUR_LOCATION\h;$env:INCLUDE";
+ $env:WATCOM = "$CUR_LOCATION";
+ $env:EDPATH = "$CUR_LOCATION\eddat";
+ }
+
+build_script:
+ - ps: >-
+ $BUILD_DIR = "c:\projects\plibsys-build";
+
+ New-Item -ItemType directory -Path $BUILD_DIR | Out-Null;
+ Set-Location $BUILD_DIR | Out-Null;
+
+ If ($env:USE_MSYS64 -eq "1") {
+ if ($env:USE_MINGW64 -eq "1") {
+ $BUILD_TYPE = "";
+ } Else {
+ $BUILD_TYPE = "-DCMAKE_BUILD_TYPE=$env:configuration";
+ $CTEST_PARAMS = @("-E", "pshm|psemaphore");
+ }
+
+ $BUILD_COMMAND = "make";
+ $BUILD_PARAMS = @("-j", "2");
+ } ElseIf ($env:USE_MINGW -eq "1") {
+ if ($env:USE_MINGW_493 -eq "1") {
+ $BUILD_TYPE = "-DCMAKE_BUILD_TYPE=$env:configuration";
+ } Else {
+ $BUILD_TYPE = "";
+ }
+
+ $BUILD_COMMAND = "mingw32-make";
+ $BUILD_PARAMS = @("-j", "2");
+ } ElseIf ($env:USE_CYGWIN -eq "1") {
+ If ($env:USE_CYGWIN64 -eq "1") {
+ $env:PATH = "c:\cygwin64\bin";
+ } Else {
+ $env:PATH = "c:\cygwin\bin";
+ }
+
+ $BUILD_COMMAND = "make";
+ $BUILD_PARAMS = @("-j", "2");
+
+ If ($env:APPVEYOR_REPO_BRANCH -eq "appveyor_test") {
+ & bash -lc 'cygserver-config --yes';
+ & cygrunsrv -S cygserver;
+ }
+ } ElseIf ($env:USE_LLVM -eq "1") {
+ pushd "$env:VS140COMNTOOLS\..\..\VC\bin\amd64"
+ cmd /c "vcvars64.bat&set" |
+ foreach {
+ if ($_ -match "=") {
+ $v = $_.split("="); set-item -force -path "ENV:\$($v[0])" -value "$($v[1])"
+ }
+ }
+ popd
+
+ $env:PATH = "C:\Program Files\LLVM\bin;$env:PATH";
+ $BUILD_COMMAND = "nmake";
+ $BUILD_PARAMS = "/NOLOGO"
+ $BUILD_TYPE = "-DCMAKE_BUILD_TYPE=$env:configuration";
+ $CMAKE_C_COMPILER = "-DCMAKE_C_COMPILER=clang-cl.exe"
+ $CMAKE_CXX_COMPILER = "-DCMAKE_CXX_COMPILER=cl.exe"
+ } ElseIf ($env:USE_WATCOM -eq "1") {
+ $BUILD_COMMAND = "wmake";
+ } Else {
+ If ($env:USE_OLD_MSBUILD -eq "1") {
+ $env:PATH = "C:\Windows\Microsoft.NET\Framework\v3.5;$env:PATH";
+ }
+
+ $BUILD_COMMAND = "msbuild";
+ $BUILD_PARAMS = @("/verbosity:normal", "$BUILD_DIR\plibsys.sln", "/p:Configuration=$env:configuration", "/m");
+ }
+
+ $CMAKE_GENERATOR_ARGS = "-G`"$env:CMAKE_GENERATOR`"";
+
+ If (Test-Path variable:global:CMAKE_GENERATOR_ARGS) {
+ $CMAKE_GENERATOR_ARGS = "$CMAKE_GENERATOR_ARGS -A $CMAKE_GENERATOR_ARGS";
+ }
+
+ If($env:USE_COVERITY -eq "1" -And $env:APPVEYOR_REPO_BRANCH -eq "appveyor_test") {
+ & nuget install PublishCoverity -o $BUILD_DIR -excludeversion;
+
+ $COVERITY_EXE = "$BUILD_DIR\PublishCoverity\tools\PublishCoverity.exe";
+
+ # Do not build tests for Coverity
+ & cmake $CMAKE_GENERATOR_ARGS $CMAKE_C_COMPILER $CMAKE_CXX_COMPILER ../plibsys;
+
+ & cov-build --dir "$BUILD_DIR\cov-int" $BUILD_COMMAND $BUILD_PARAMS;
+
+ & $COVERITY_EXE compress -o "$BUILD_DIR\coverity.zip" -i "$BUILD_DIR\cov-int";
+ & $COVERITY_EXE publish -z "$BUILD_DIR\coverity.zip" -r $env:COVERITY_SCAN_PROJECT_NAME -t $env:COVERITY_SCAN_TOKEN -e $env:COVERITY_SCAN_NOTIFICATION_EMAIL --codeVersion $env:APPVEYOR_BUILD_VERSION;
+
+ Get-ChildItem -Path ./ -Recurse | Remove-Item -Force -Recurse;
+ }
+
+ & cmake '$CMAKE_GENERATOR_ARGS' $BUILD_TYPE $CMAKE_C_COMPILER $CMAKE_CXX_COMPILER ../plibsys;
+ & $BUILD_COMMAND $BUILD_PARAMS;
+
+ If ($env:APPVEYOR_REPO_BRANCH -eq "appveyor_test") {
+ & ctest $CTEST_PARAMS --output-on-failure -V -C Release;
+ }