You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
PDCursesMod/appveyor.yml

301 lines
9.8 KiB
YAML

version: 4.0.2.{build}
shallow_clone: true
clone_depth: 1
skip_commits:
files:
- .travis.yml
image: Visual Studio 2017
configuration:
#- MinSizeRel // https://bugzilla.libsdl.org/show_bug.cgi?id=4233
- Release
- Debug
build:
parallel: true
environment:
DIST_DIR: '%APPVEYOR_BUILD_FOLDER%\dist'
matrix:
- TOOLCHAIN: Watcom19
TARGET: os2
CMAKE_ARGS: '-DPDC_OS2_BUILD=ON'
ARCHIVE_BASENAME: OS2V2
- TOOLCHAIN: Watcom19
TARGET: dos
CMAKE_ARGS: '-DPDC_DOS_BUILD=ON'
ARCHIVE_BASENAME: DOS16
- TOOLCHAIN: Watcom19
TARGET: dos32
CMAKE_ARGS: '-DPDC_DOS_BUILD=ON'
ARCHIVE_BASENAME: DOS32
- TOOLCHAIN: Watcom19
TARGET: dos
CMAKE_ARGS: '-DPDC_DOSVGA_BUILD=ON'
ARCHIVE_BASENAME: DOSVGA16
- TOOLCHAIN: Watcom19
TARGET: dos32
CMAKE_ARGS: '-DPDC_DOSVGA_BUILD=ON'
ARCHIVE_BASENAME: DOSVGA32
- TOOLCHAIN: Watcom19
TARGET: dos
CMAKE_ARGS: '-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON'
ARCHIVE_BASENAME: WIDE_DOSVGA16
- TOOLCHAIN: Watcom19
TARGET: dos32
CMAKE_ARGS: '-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON'
ARCHIVE_BASENAME: WIDE_DOSVGA32
- TOOLCHAIN: Watcom19
TARGET: dos
CMAKE_ARGS: '-DPDC_DOSVT_BUILD=ON'
ARCHIVE_BASENAME: VT16
- TOOLCHAIN: Watcom19
TARGET: dos32
CMAKE_ARGS: '-DPDC_DOSVT_BUILD=ON'
ARCHIVE_BASENAME: VT32
- TOOLCHAIN: Watcom19
TARGET: win32
CMAKE_ARGS: '-DPDC_WIDE=ON'
ARCHIVE_BASENAME: WIDE_X86
- TOOLCHAIN: Watcom19
TARGET: win32
CMAKE_ARGS: '-DPDC_UTF8=ON'
ARCHIVE_BASENAME: UTF8_X86
- TOOLCHAIN: Watcom20
TARGET: os2
CMAKE_ARGS: '-DPDC_OS2_BUILD=ON'
ARCHIVE_BASENAME: OS2V2
- TOOLCHAIN: Watcom20
TARGET: dos
CMAKE_ARGS: '-DPDC_DOS_BUILD=ON'
ARCHIVE_BASENAME: DOS16
- TOOLCHAIN: Watcom20
TARGET: dos32
CMAKE_ARGS: '-DPDC_DOS_BUILD=ON'
ARCHIVE_BASENAME: DOS32
- TOOLCHAIN: Watcom20
TARGET: dos
CMAKE_ARGS: '-DPDC_DOSVGA_BUILD=ON'
ARCHIVE_BASENAME: DOSVGA16
- TOOLCHAIN: Watcom20
TARGET: dos32
CMAKE_ARGS: '-DPDC_DOSVGA_BUILD=ON'
ARCHIVE_BASENAME: DOSVGA32
- TOOLCHAIN: Watcom20
TARGET: dos
CMAKE_ARGS: '-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON'
ARCHIVE_BASENAME: WIDE_DOSVGA16
- TOOLCHAIN: Watcom20
TARGET: dos32
CMAKE_ARGS: '-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON'
ARCHIVE_BASENAME: WIDE_DOSVGA32
- TOOLCHAIN: Watcom20
TARGET: dos
CMAKE_ARGS: '-DPDC_DOSVT_BUILD=ON'
ARCHIVE_BASENAME: VT16
- TOOLCHAIN: Watcom20
TARGET: dos32
CMAKE_ARGS: '-DPDC_DOSVT_BUILD=ON'
ARCHIVE_BASENAME: VT32
- TOOLCHAIN: Watcom20
TARGET: win32
CMAKE_ARGS: '-DPDC_WIDE=ON'
ARCHIVE_BASENAME: WIDE_X86
- TOOLCHAIN: Watcom20
TARGET: win32
CMAKE_ARGS: '-DPDC_UTF8=ON'
ARCHIVE_BASENAME: UTF8_X86
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
ARCHITECTURE: amd64_x86
CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON -DPDC_GL_BUILD=ON'
ARCHIVE_BASENAME: WIDE_x86
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
ARCHITECTURE: amd64_x86
CMAKE_ARGS: '-DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON -DPDC_GL_BUILD=ON'
ARCHIVE_BASENAME: UTF8_x86
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
ARCHITECTURE: amd64
CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON -DPDC_GL_BUILD=ON'
ARCHIVE_BASENAME: WIDE_x64
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
ARCHITECTURE: amd64
CMAKE_ARGS: '-DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON -DPDC_GL_BUILD=ON'
ARCHIVE_BASENAME: UTF8_x64
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
ARCHITECTURE: amd64_arm
CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF -DPDC_GL_BUILD=OFF'
ARCHIVE_BASENAME: WIDE_ARM
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2015'
ARCHITECTURE: amd64_arm
CMAKE_ARGS: '-DPDC_UTF8=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF -DPDC_GL_BUILD=OFF'
ARCHIVE_BASENAME: UTF8_ARM
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
ARCHITECTURE: amd64_arm
CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF -DPDC_GL_BUILD=OFF'
ARCHIVE_BASENAME: WIDE_ARM
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
ARCHITECTURE: amd64_arm
CMAKE_ARGS: '-DPDC_UTF8=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF -DPDC_GL_BUILD=OFF'
ARCHIVE_BASENAME: UTF8_ARM
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
ARCHITECTURE: amd64_arm64
CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF -DPDC_GL_BUILD=OFF'
ARCHIVE_BASENAME: WIDE_ARM64
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
ARCHITECTURE: amd64_arm64
CMAKE_ARGS: '-DPDC_UTF8=ON -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF -DPDC_GL_BUILD=OFF'
ARCHIVE_BASENAME: UTF8_ARM64
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
ARCHITECTURE: amd64_x86
CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON -DPDC_GL_BUILD=ON'
ARCHIVE_BASENAME: WIDE_x86
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
ARCHITECTURE: amd64_x86
CMAKE_ARGS: '-DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON -DPDC_GL_BUILD=ON'
ARCHIVE_BASENAME: UTF8_x86
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
ARCHITECTURE: amd64
CMAKE_ARGS: '-DPDC_WIDE=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON -DPDC_GL_BUILD=ON'
ARCHIVE_BASENAME: WIDE_x64
- APPVEYOR_BUILD_WORKER_IMAGE: 'Visual Studio 2017'
ARCHITECTURE: amd64
CMAKE_ARGS: '-DPDC_UTF8=ON -DPDC_SDL2_BUILD=ON -DPDC_SDL2_DEPS_BUILD=ON -DPDC_GL_BUILD=ON'
ARCHIVE_BASENAME: UTF8_x64
init:
- echo BUILD_NUMBER=%APPVEYOR_BUILD_NUMBER%
# curl defaults --keepalive-time 60 --max-time ?? about 10 minutes --connect-timeout ??
- set CURL_ARGS=--location --fail --show-error --keepalive-time 10 --connect-timeout 10 --max-time 600
# Setup TOOLCHAIN for Visual Studio build tools
- if not DEFINED TOOLCHAIN (
if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" (
set "TOOLCHAIN=VS2015"
) else if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2017" (
set "TOOLCHAIN=VS2017"
) else if "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2019" (
set "TOOLCHAIN=VS2019"
)
)
# Setup TOOLCHAIN group variable as CMake Generator
- if "%TOOLCHAIN:~0,4%"=="VS20" (
set "GENERATOR=NMake Makefiles"
) else if "%TOOLCHAIN:~0,6%"=="Watcom" (
set "GENERATOR=Watcom WMake" &&
set "CMAKE_ARGS=-DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF -DPDC_GL_BUILD=OFF %CMAKE_ARGS%" &&
set "WATCOM=%HOMEDRIVE%%HOMEPATH%\watcom"
)
# Setup TOOLCHAIN specific variable
- if "%TOOLCHAIN%"=="Watcom19" (
set "WATCOM_VERSION=Open Watcom 1.9" &&
set "ARTIFACT_NAME=open-watcom-c-win32-1.9.exe" &&
set "ARTIFACT_URL=https://github.com/open-watcom/open-watcom-1.9/releases/download/ow1.9/" &&
set "PATH=%WATCOM%\BINNT;%WATCOM%\BINW;%PATH%"
) else if "%TOOLCHAIN%"=="Watcom20" (
set "WATCOM_VERSION=Open Watcom 2.0" &&
set "ARTIFACT_NAME=open-watcom-2_0-c-win-x64.exe" &&
set "ARTIFACT_URL=https://github.com/open-watcom/open-watcom-v2/releases/download/Current-build" &&
set "PATH=%WATCOM%\BINNT64;%WATCOM%\BINW;%PATH%"
) else if "%TOOLCHAIN%"=="VS2015" (
set "VCVARSALL=%ProgramFiles(x86)%\Microsoft Visual Studio 14.0\VC\vcvarsall.bat"
) else if "%TOOLCHAIN%"=="VS2017" (
set "VCVARSALL=%ProgramFiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat"
) else if "%TOOLCHAIN%"=="VS2019" (
set "VCVARSALL=%ProgramFiles(x86)%\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat"
)
# Setup Archive name
- set "ARCHIVE=%TOOLCHAIN%_%CONFIGURATION%_%ARCHIVE_BASENAME%_%APPVEYOR_BUILD_NUMBER%"
install:
# Open Watcom download and install
- if "%TOOLCHAIN:~0,6%"=="Watcom" (
echo Installing %WATCOM_VERSION% &&
appveyor-retry curl %CURL_ARGS% --output "%TEMP%\%ARTIFACT_NAME%" "%ARTIFACT_URL%/%ARTIFACT_NAME%" &&
7z x -y "%TEMP%\%ARTIFACT_NAME%" -o"%WATCOM%"
)
- cmake --version
before_build:
- if exist "%VCVARSALL%" (
call "%VCVARSALL%" %ARCHITECTURE%
)
- if "%TARGET%"=="dos" (
set "CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_dos16_toolchain.cmake %CMAKE_ARGS%" &&
set "INCLUDE=%WATCOM%\H;%INCLUDE%"
) else if "%TARGET%"=="dos32" (
set "CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_dos32_toolchain.cmake %CMAKE_ARGS%" &&
set "INCLUDE=%WATCOM%\H;%INCLUDE%"
) else if "%TARGET%"=="os2" (
set "CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_os2v2_toolchain.cmake %CMAKE_ARGS%" &&
set "INCLUDE=%WATCOM%\H;%WATCOM%\H\OS2;%INCLUDE%"
) else if "%TARGET%"=="win32" (
set "CMAKE_ARGS=-DCMAKE_TOOLCHAIN_FILE=..\cmake\watcom_open_win32_toolchain.cmake %CMAKE_ARGS%" &&
set "INCLUDE=%WATCOM%\H;%WATCOM%\H\NT;%INCLUDE%"
)
- if "%CONFIGURATION%"=="Debug" (
set "CMAKE_ARGS=-DPDCDEBUG=ON %CMAKE_ARGS%"
)
build_script:
- cd %APPVEYOR_BUILD_FOLDER%
- mkdir build
- cd build
- cmake -G"%GENERATOR%" -DCMAKE_BUILD_TYPE=%CONFIGURATION%
"-DCMAKE_INSTALL_PREFIX=%DIST_DIR%\%APPVEYOR_BUILD_WORKER_IMAGE%"
-DBUILD_NUMBER=%APPVEYOR_BUILD_NUMBER% %CMAKE_ARGS%
..
cmake --build . --config %CONFIGURATION% --target install
after_build:
- cd %DIST_DIR%
- 7z a -tzip %ARCHIVE%.zip "%APPVEYOR_BUILD_WORKER_IMAGE%"
- certutil -hashfile %ARCHIVE%.zip MD5 > %ARCHIVE%.md5
artifacts:
- path: dist\$(ARCHIVE).zip
- path: dist\$(ARCHIVE).md5