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.
309 lines
12 KiB
YAML
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
|