From a4dd0ad63c00f4dee3b86dfd3075d1d61b2b3180 Mon Sep 17 00:00:00 2001 From: sanine Date: Sat, 27 Aug 2022 23:52:56 -0500 Subject: add plibsys --- 3rdparty/plibsys/appveyor.yml | 289 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 289 insertions(+) create mode 100644 3rdparty/plibsys/appveyor.yml (limited to '3rdparty/plibsys/appveyor.yml') 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; + } -- cgit v1.2.1