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/.travis.yml

309 lines
12 KiB
YAML

language: c
_job_includes:
- &ow19_os2
os: linux
compiler: ow19
arch: os2
- &ow19_dos
os: linux
compiler: ow19
arch: dos
- &ow19_dos32
os: linux
compiler: ow19
arch: dos32
- &ow19_win32
os: linux
compiler: ow19
arch: win32
- &ow20_os2
os: linux
compiler: ow20
arch: os2
- &ow20_dos
os: linux
compiler: ow20
arch: dos
- &ow20_dos32
os: linux
compiler: ow20
arch: dos32
- &ow20_win32
os: linux
compiler: ow20
arch: win32
os:
- linux
- osx
compiler:
- gcc
- clang
arch:
- amd64
env:
jobs:
- BUILD_TYPE=Debug CMAKE_ARGS=""
- BUILD_TYPE=Release CMAKE_ARGS=""
- BUILD_TYPE=MinSizeRel CMAKE_ARGS=""
- BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_UTF8=ON"
- BUILD_TYPE=Release CMAKE_ARGS="-DPDC_UTF8=ON"
- BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_UTF8=ON"
- BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_WIDE=ON"
- BUILD_TYPE=Release CMAKE_ARGS="-DPDC_WIDE=ON"
- BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_WIDE=ON"
jobs:
include:
# Open Watcom 1.9
# OS/2
- <<: *ow19_os2
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_OS2_BUILD=ON" TRAVIS_ARCH=os2
- <<: *ow19_os2
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_OS2_BUILD=ON" TRAVIS_ARCH=os2
- <<: *ow19_os2
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_OS2_BUILD=ON" TRAVIS_ARCH=os2
# DOS 16-bit
- <<: *ow19_dos
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow19_dos
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow19_dos
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos
# DOS 32-bit
- <<: *ow19_dos32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow19_dos32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow19_dos32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos32
# DOSVGA project
# DOS 16-bit
- <<: *ow19_dos
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow19_dos
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow19_dos
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos
# DOS 32-bit
- <<: *ow19_dos32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow19_dos32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow19_dos32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos32
# DOSVGA project WIDE version
# DOS 16-bit
- <<: *ow19_dos
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos
- <<: *ow19_dos
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos
- <<: *ow19_dos
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos
# DOS 32-bit
- <<: *ow19_dos32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos32
- <<: *ow19_dos32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos32
- <<: *ow19_dos32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos32
# VT project
# DOS 16-bit
- <<: *ow19_dos
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow19_dos
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow19_dos
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos
# DOS 32-bit
- <<: *ow19_dos32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow19_dos32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow19_dos32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos32
# WIN32 projects WIDE version
- <<: *ow19_win32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_WIDE=ON" TRAVIS_ARCH=win32
- <<: *ow19_win32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_WIDE=ON" TRAVIS_ARCH=win32
- <<: *ow19_win32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_WIDE=ON" TRAVIS_ARCH=win32
# WIN32 projects UTF8 version
- <<: *ow19_win32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_UTF8=ON" TRAVIS_ARCH=win32
- <<: *ow19_win32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_UTF8=ON" TRAVIS_ARCH=win32
- <<: *ow19_win32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_UTF8=ON" TRAVIS_ARCH=win32
# Open Watcom 2.0
# OS/2
- <<: *ow20_os2
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_OS2_BUILD=ON" TRAVIS_ARCH=os2
- <<: *ow20_os2
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_OS2_BUILD=ON" TRAVIS_ARCH=os2
- <<: *ow20_os2
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_OS2_BUILD=ON" TRAVIS_ARCH=os2
# DOS 16-bit
- <<: *ow20_dos
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow20_dos
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow20_dos
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos
# DOS 32-bit
- <<: *ow20_dos32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow20_dos32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow20_dos32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOS_BUILD=ON" TRAVIS_ARCH=dos32
# DOSVGA project
# DOS 16-bit
- <<: *ow20_dos
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow20_dos
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow20_dos
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos
# DOS 32-bit
- <<: *ow20_dos32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow20_dos32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow20_dos32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON" TRAVIS_ARCH=dos32
# DOSVGA project WIDE version
# DOS 16-bit
- <<: *ow20_dos
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos
- <<: *ow20_dos
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos
- <<: *ow20_dos
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos
# DOS 32-bit
- <<: *ow20_dos32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos32
- <<: *ow20_dos32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos32
- <<: *ow20_dos32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVGA_BUILD=ON -DPDC_WIDE=ON" TRAVIS_ARCH=dos32
# VT project
# DOS 16-bit
- <<: *ow20_dos
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow20_dos
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos
- <<: *ow20_dos
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos
# DOS 32-bit
- <<: *ow20_dos32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow20_dos32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos32
- <<: *ow20_dos32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_DOSVT_BUILD=ON" TRAVIS_ARCH=dos32
# WIN32 projects WIDE version
- <<: *ow20_win32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_WIDE=ON" TRAVIS_ARCH=win32
- <<: *ow20_win32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_WIDE=ON" TRAVIS_ARCH=win32
- <<: *ow20_win32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_WIDE=ON" TRAVIS_ARCH=win32
# WIN32 projects UTF8 version
- <<: *ow20_win32
env: BUILD_TYPE=Debug CMAKE_ARGS="-DPDC_UTF8=ON" TRAVIS_ARCH=win32
- <<: *ow20_win32
env: BUILD_TYPE=Release CMAKE_ARGS="-DPDC_UTF8=ON" TRAVIS_ARCH=win32
- <<: *ow20_win32
env: BUILD_TYPE=MinSizeRel CMAKE_ARGS="-DPDC_UTF8=ON" TRAVIS_ARCH=win32
install:
# install required version of CMake
- if [[ "${TRAVIS_OS_NAME}" == "linux" ]]; then
ARTIFACT_NAME=cmake-3.11.0-Linux-x86_64 &&
ARTIFACT_URL=https://cmake.org/files/v3.11/${ARTIFACT_NAME}.tar.gz &&
ARTIFACT_MD5=96d67e21f0983ebf0fffc5b106ec338c &&
travis_retry wget --no-check-certificate -P ${TRAVIS_TMPDIR} ${ARTIFACT_URL} &&
echo "${ARTIFACT_MD5} *${TRAVIS_TMPDIR}/${ARTIFACT_NAME}.tar.gz" > ${TRAVIS_TMPDIR}/cmake_md5.txt &&
md5sum -c ${TRAVIS_TMPDIR}/cmake_md5.txt &&
mkdir -p ${TRAVIS_HOME}/cmake &&
tar -xf ${TRAVIS_TMPDIR}/${ARTIFACT_NAME}.tar.gz -C ${TRAVIS_HOME}/cmake --strip-components=1 --show-transformed-names ${ARTIFACT_NAME} &&
export PATH=${TRAVIS_HOME}/cmake:${TRAVIS_HOME}/cmake/bin:$PATH;
fi
# install Open Watcom 1.9
- if [[ "${TRAVIS_COMPILER}" == "ow19" ]]; then
ARTIFACT_NAME=open-watcom-c-linux-1.9 &&
ARTIFACT_URL=https://github.com/open-watcom/open-watcom-1.9/releases/download/ow1.9/${ARTIFACT_NAME} &&
OPEN_WATCOM_BIN=binl &&
travis_retry wget --no-check-certificate -P ${TRAVIS_TMPDIR} ${ARTIFACT_URL} &&
export WATCOM=${TRAVIS_HOME}/watcom &&
mkdir -p ${WATCOM} &&
unzip -q ${TRAVIS_TMPDIR}/${ARTIFACT_NAME} -d ${WATCOM} &&
chmod +x ${WATCOM}/${OPEN_WATCOM_BIN}/* &&
export PATH=${WATCOM}/binl:${WATCOM}/binw:$PATH;
fi
# install Open Watcom 2.0
- if [[ "${TRAVIS_COMPILER}" == "ow20" ]]; then
ARTIFACT_NAME=open-watcom-2_0-c-linux-x64 &&
ARTIFACT_URL=https://github.com/open-watcom/open-watcom-v2/releases/download/Current-build/${ARTIFACT_NAME} &&
OPEN_WATCOM_BIN=binl64 &&
travis_retry wget --no-check-certificate -P ${TRAVIS_TMPDIR} ${ARTIFACT_URL} &&
export WATCOM=${TRAVIS_HOME}/watcom &&
mkdir -p ${WATCOM} &&
unzip -q ${TRAVIS_TMPDIR}/${ARTIFACT_NAME} -d ${WATCOM} &&
chmod +x ${WATCOM}/${OPEN_WATCOM_BIN}/* &&
export PATH=${WATCOM}/binl64:${WATCOM}/binw:$PATH;
fi
# install ncurses on Linux, not for OpenWatcom toolchain
- if [[ "${TRAVIS_OS_NAME}" == "linux" && "${TRAVIS_COMPILER}" != "ow19" && "${TRAVIS_COMPILER}" != "ow20" ]];
then sudo apt-get -y install libncurses5-dev libncursesw5-dev libxaw7-dev; fi
# install ncurses on OSX
- if [[ "${TRAVIS_OS_NAME}" == "osx" ]];
then brew install ncurses; fi
# setup Open Watcom for cross-compilation
- if [[ "${TRAVIS_ARCH}" == "os2" ]]; then
export TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=${TRAVIS_BUILD_DIR}/cmake/watcom_open_os2v2_toolchain.cmake" &&
export INCLUDE=${WATCOM}/h:${WATCOM}/h/os2;
fi
- if [[ "${TRAVIS_ARCH}" == "dos" ]]; then
export TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=${TRAVIS_BUILD_DIR}/cmake/watcom_open_dos16_toolchain.cmake" &&
export INCLUDE=${WATCOM}/h;
fi
- if [[ "${TRAVIS_ARCH}" == "dos32" ]]; then
export TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=${TRAVIS_BUILD_DIR}/cmake/watcom_open_dos32_toolchain.cmake" &&
export INCLUDE=${WATCOM}/h;
fi
- if [[ "${TRAVIS_ARCH}" == "win32" ]]; then
export TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=${TRAVIS_BUILD_DIR}/cmake/watcom_open_win32_toolchain.cmake" &&
export INCLUDE=${WATCOM}/h:${WATCOM}/h/nt;
fi
- if [[ "${BUILD_TYPE}" == "Debug" ]]; then
export CMAKE_DEBUG_ARGS="-DPDCDEBUG=ON";
fi
- cmake --version
before_script:
- cd ${TRAVIS_BUILD_DIR}
- mkdir build && cd build
- if [[ "${TRAVIS_COMPILER}" == "ow19" || "${TRAVIS_COMPILER}" == "ow20" ]]; then
cmake -G "Watcom WMake" -DCMAKE_VERBOSE_MAKEFILE=FALSE -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
-DPDC_BUILD_SHARED=OFF -DPDC_SDL2_BUILD=OFF -DPDC_SDL2_DEPS_BUILD=OFF ${TOOLCHAIN_FILE}
-DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/build/dist ${CMAKE_DEBUG_ARGS}
${CMAKE_ARGS} .. ;
else
cmake -DCMAKE_VERBOSE_MAKEFILE=FALSE -DCMAKE_BUILD_TYPE=${BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX=${TRAVIS_BUILD_DIR}/build/dist ${CMAKE_DEBUG_ARGS}
${CMAKE_ARGS} .. ;
fi
script:
- cmake --build . --config ${BUILD_TYPE} --target install