sudo: required language: c addons: apt: packages: - tcl-dev - libx11-dev # Doesn't work at the moment, see: # homebrew: # packages: # - tcl-tk # - xquartz matrix: include: # Testing on Linux with various compilers - name: "Linux/GCC/Shared" os: linux dist: bionic compiler: gcc env: - BUILD_DIR=unix - name: "Linux/GCC/Shared/no-xft" os: linux dist: bionic compiler: gcc env: - BUILD_DIR=unix - CFGOPT="--disable-xft" - name: "Linux/GCC/Static" os: linux dist: bionic compiler: gcc env: - BUILD_DIR=unix - CFGOPT="--disable-shared" - name: "Linux/GCC/Debug" os: linux dist: bionic compiler: gcc env: - BUILD_DIR=unix - CFGOPT="--enable-symbols" # Older versions of GCC... - name: "Linux/GCC 7/Shared" os: linux dist: bionic compiler: gcc-7 addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-7 env: - BUILD_DIR=unix - name: "Linux/GCC 6/Shared" os: linux dist: bionic compiler: gcc-6 addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-6 env: - BUILD_DIR=unix - name: "Linux/GCC 5/Shared" os: linux dist: bionic compiler: gcc-5 addons: apt: sources: - ubuntu-toolchain-r-test packages: - g++-5 env: - BUILD_DIR=unix # Clang - name: "Linux/Clang/Shared" os: linux dist: bionic compiler: clang env: - BUILD_DIR=unix - name: "Linux/Clang/Shared/no-xft" os: linux dist: bionic compiler: clang env: - BUILD_DIR=unix - CFGOPT="--disable-xft" - name: "Linux/Clang/Static" os: linux dist: bionic compiler: clang env: - CFGOPT="--disable-shared" - BUILD_DIR=unix - name: "Linux/Clang/Debug" os: linux dist: bionic compiler: clang env: - BUILD_DIR=unix - CFGOPT="--enable-symbols" # Testing on Mac, various styles - name: "macOS/Xcode 11.3/Shared" os: osx osx_image: xcode11.3 env: - BUILD_DIR=unix - CFGOPT="--prefix=/usr/local/opt/tcl-tk --with-tcl=/usr/local/opt/tcl-tk/lib --enable-aqua CC=clang CFLAGS=-I/usr/local/opt/tcl-tk/include" - name: "macOS/Xcode 11.3/Static" os: osx osx_image: xcode11.3 env: - BUILD_DIR=unix - CFGOPT="--prefix=/usr/local/opt/tcl-tk --with-tcl=/usr/local/opt/tcl-tk/lib --enable-aqua --disable-shared CC=clang CFLAGS=-I/usr/local/opt/tcl-tk/include" - name: "macOS/Xcode 11.3/Debug" os: osx osx_image: xcode11.3 env: - BUILD_DIR=unix - CFGOPT="--prefix=/usr/local/opt/tcl-tk --with-tcl=/usr/local/opt/tcl-tk/lib --enable-aqua --enable-symbols CC=clang CFLAGS=-I/usr/local/opt/tcl-tk/include" - name: "macOS/Xcode 11.3/Shared/XQuartz" os: osx osx_image: xcode11.3 env: - BUILD_DIR=unix - CFGOPT="--prefix=/usr/local/opt/tcl-tk --with-tcl=/usr/local/opt/tcl-tk/lib --disable-corefoundation --x-includes=/opt/X11/include --x-libraries=/opt/X11/lib CC=clang CFLAGS=-I/usr/local/opt/tcl-tk/include" # Older MacOS versions - name: "macOS/Xcode 11/Shared" os: osx osx_image: xcode11 env: - BUILD_DIR=unix - CFGOPT="--prefix=/usr/local/opt/tcl-tk --with-tcl=/usr/local/opt/tcl-tk/lib --enable-aqua CC=clang CFLAGS=-I/usr/local/opt/tcl-tk/include" - name: "macOS/Xcode 10/Shared" os: osx osx_image: xcode10.3 env: - BUILD_DIR=unix - CFGOPT="--prefix=/usr/local/opt/tcl-tk --with-tcl=/usr/local/opt/tcl-tk/lib --enable-aqua CC=clang CFLAGS=-I/usr/local/opt/tcl-tk/include" - name: "macOS/Xcode 9/Shared" os: osx osx_image: xcode9 env: - BUILD_DIR=unix - CFGOPT="--prefix=/usr/local/opt/tcl-tk --with-tcl=/usr/local/opt/tcl-tk/lib --enable-aqua CC=clang CFLAGS=-I/usr/local/opt/tcl-tk/include" - name: "macOS/Xcode 8/Shared" os: osx osx_image: xcode8 env: - BUILD_DIR=unix - CFGOPT="--prefix=/usr/local/opt/tcl-tk --with-tcl=/usr/local/opt/tcl-tk/lib --enable-aqua CC=clang CFLAGS=-I/usr/local/opt/tcl-tk/include" # Test on Windows with MSVC native # - name: "Windows/MSVC/Shared" # os: windows # compiler: cl # env: &vcenv # - BUILD_DIR=win # - VCDIR="/C/Program Files (x86)/Microsoft Visual Studio/2017/BuildTools/VC/Auxiliary/Build" # before_install: &vcpreinst # - PATH="$PATH:$VCDIR" # - cd ${BUILD_DIR} # install: [] # script: # - cmd.exe //C vcvarsall.bat x64 '&&' nmake '-f' makefile.vc all tktest before_install: - |- case $TRAVIS_OS_NAME in windows) choco install -y magicsplat-tcl-tk ;; osx) brew update brew install tcl-tk brew cask install xquartz ;; esac - cd ${BUILD_DIR} install: - ./configure ${CFGOPT} --prefix=$HOME || (cat config.log && exit 1) before_script: - export ERROR_ON_FAILURES=1 script: - make binaries libraries tktest cache: directories: - $HOME/AppData/Local/Temp/chocolatey - $HOME/AppData/Local/Apps/Tcl86