diff --git a/.travis.yml b/.travis.yml index 11f0bb397d..4dbb33274a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -7,30 +7,30 @@ sudo: required matrix: include: - - dist: precise + - dist: trusty compiler: gcc env: wxGTK_VERSION=2 wxUSE_XVFB=1 - name: wxGTK 2 Ubuntu 12.04 - - dist: trusty + name: wxGTK 2 Ubuntu 14.04 + - dist: xenial compiler: gcc env: wxGTK_VERSION=3 - name: wxGTK 3 Ubuntu 14.04 - - dist: trusty + name: wxGTK 3 Ubuntu 16.04 + - dist: bionic compiler: gcc env: wxGTK_VERSION=2 wxCONFIGURE_FLAGS="--enable-utf8 --enable-utf8only --enable-monolithic" wxUSE_XVFB=1 - name: wxGTK 2 UTF-8 Ubuntu 14.04 - - dist: trusty + name: wxGTK 2 UTF-8 Ubuntu 18.04 + - dist: bionic compiler: gcc - env: wxGTK_VERSION=3 wxCONFIGURE_FLAGS="--enable-cxx11 --enable-stl --disable-webview" wxMAKEFILE_FLAGS="CXXFLAGS=-std=c++11" wxUSE_XVFB=1 - name: wxGTK 3 STL Ubuntu 14.04 - - dist: trusty + env: wxGTK_VERSION=3 wxCONFIGURE_FLAGS="--enable-cxx11 --enable-stl --disable-webview" wxMAKEFILE_FLAGS="CXXFLAGS=-std=c++11 LDFLAGS=-Wl,--no-as-needed" wxUSE_XVFB=1 + name: wxGTK 3 STL Ubuntu 18.04 + - dist: bionic compiler: clang env: wxGTK_VERSION=2 wxCONFIGURE_FLAGS="--disable-shared --disable-sys-libs --disable-webview" wxUSE_XVFB=1 - name: wxGTK 2 clang Ubuntu 14.04 - - dist: trusty + name: wxGTK 2 clang Ubuntu 18.04 + - dist: bionic compiler: gcc env: wxTOOLSET=cmake wxCMAKE_GENERATOR="Unix Makefiles" - name: wxGTK CMake Ubuntu 14.04 + name: wxGTK CMake Ubuntu 18.04 - os: osx osx_image: xcode6.4 compiler: clang @@ -40,34 +40,38 @@ matrix: osx_image: xcode9.4 compiler: clang env: wxTOOLSET=cmake wxCMAKE_GENERATOR=Xcode wxCMAKE_DEFINES="-DCMAKE_CXX_STANDARD=11" - name: wxOSX Xcode 9.4 - - dist: trusty + name: wxOSX CMake Xcode 9.4 + - os: osx + osx_image: xcode11.3 + env: wxCONFIGURE_FLAGS="--enable-monolithic --with-cxx=17 --with-macosx-version-min=10.12 --enable-stl" + name: wxOSX Xcode 11.3 + - dist: bionic compiler: gcc env: wxCONFIGURE_FLAGS="--with-x11 --enable-pch --disable-stc" wxSKIP_SAMPLES=1 - name: wxX11 Ubuntu 14.04 - - dist: trusty + name: wxX11 Ubuntu 18.04 + - dist: bionic compiler: gcc env: wxCONFIGURE_FLAGS="--with-directfb --enable-pch --disable-stc" wxSKIP_SAMPLES=1 - name: wxDFB Ubuntu 14.04 - - dist: trusty + name: wxDFB Ubuntu 18.04 + - dist: bionic compiler: gcc env: wxCONFIGURE_FLAGS="--with-motif --enable-pch --disable-stc" wxSKIP_SAMPLES=1 - name: wxMotif Ubuntu 14.04 - - dist: trusty + name: wxMotif Ubuntu 18.04 + - dist: bionic compiler: gcc env: wxCONFIGURE_FLAGS="--with-qt --enable-pch" wxSKIP_SAMPLES=1 - name: wxQt Ubuntu 14.04 + name: wxQt Ubuntu 18.04 - os: linux arch: arm64 env: wxCONFIGURE_FLAGS="--disable-sys-libs" wxLXC=1 name: wxGTK ARM64 - os: linux arch: ppc64le - env: wxCONFIGURE_FLAGS="--disable-sys-libs" wxLXC=1 + env: wxCONFIGURE_FLAGS="--disable-sys-libs --disable-gui" wxLXC=1 wxSKIP_GUI=1 name: wxGTK PowerPC64 - os: linux arch: s390x - env: wxCONFIGURE_FLAGS="--disable-sys-libs" wxLXC=1 + env: wxCONFIGURE_FLAGS="--disable-sys-libs --disable-gui" wxLXC=1 wxSKIP_GUI=1 name: wxGTK S/390 branches: diff --git a/appveyor.yml b/appveyor.yml index 6737b09320..0c75abc35b 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -10,6 +10,11 @@ skip_commits: - docs/ - interface/ - misc/ + - include/wx/osx/ + - src/osx/ + - .travis.yml + - build/tools/travis-ci.sh + - build/tools/before_install.sh environment: matrix: diff --git a/build/tools/before_install.sh b/build/tools/before_install.sh index 129cee2d9e..8ad9fc453d 100755 --- a/build/tools/before_install.sh +++ b/build/tools/before_install.sh @@ -2,7 +2,7 @@ # # This script is used by Travis CI to install the dependencies before building # wxWidgets but can also be run by hand if necessary but currently it only -# works for Ubuntu 12.04 and 14.04 and OS X used by Travis builds. +# works for Ubuntu versions used by Travis builds. SUDO=sudo @@ -10,30 +10,38 @@ case $(uname -s) in Linux) if [ -f /etc/apt/sources.list ]; then $SUDO apt-get update - case "$wxGTK_VERSION" in - 3) libgtk_dev=libgtk-3-dev ;; - *) libgtk_dev=libgtk2.0-dev;; - esac case "$wxCONFIGURE_FLAGS" in *--with-directfb*) libtoolkit_dev='libdirectfb-dev' ;; *--with-motif*) libtoolkit_dev='libmotif-dev libxmu-dev' ;; - *--with-qt*) libtoolkit_dev='qtdeclarative5-dev' ;; + *--with-qt*) libtoolkit_dev='qtdeclarative5-dev libqt5opengl5-dev';; + *--with-x11*) extra_deps='libpango1.0-dev' ;; + *--disable-gui*) ;; + *) + case "$wxGTK_VERSION" in + 3) libtoolkit_dev=libgtk-3-dev + extra_deps='libwebkit2gtk-4.0-dev libwebkitgtk-3.0-dev' + ;; + *) libtoolkit_dev=libgtk2.0-dev + extra_deps='libwebkitgtk-dev' + ;; + esac + + extra_deps="$extra_deps \ + libgstreamermm-1.0-dev libgstreamermm-0.10-dev \ + libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ + libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev \ + libglu1-mesa-dev" esac - pgk_check="libgstreamermm-1.0-dev libgstreamermm-0.10-dev \ - libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \ - libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev \ - libwebkit2gtk-4.0-dev libwebkitgtk-3.0-dev libwebkitgtk-dev \ - libglu1-mesa-dev libsecret-1-dev libnotify-dev" - - for pkg in $pgk_check; do + extra_deps="$extra_deps libsecret-1-dev libnotify-dev" + for pkg in $extra_deps; do if $(apt-cache pkgnames | grep -q $pkg) ; then pkg_install="$pkg_install $pkg" fi done - $SUDO apt-get install -y $libgtk_dev $libtoolkit_dev $pkg_install + $SUDO apt-get install -y $libtoolkit_dev $pkg_install fi ;; diff --git a/build/tools/travis-ci.sh b/build/tools/travis-ci.sh index 3d88b54116..6f57b046ec 100755 --- a/build/tools/travis-ci.sh +++ b/build/tools/travis-ci.sh @@ -54,7 +54,14 @@ case $wxTOOLSET in ;; *) echo 'Configuring...' && echo -en 'travis_fold:start:script.configure\\r' - ./configure --disable-optimise $wxCONFIGURE_FLAGS + ./configure --disable-optimise --disable-debug_info $wxCONFIGURE_FLAGS || rc=$? + if [ -n "$rc" ]; then + echo '*** Configuring failed, contents of config.log follows: ***' + echo '-----------------------------------------------------------' + cat config.log + echo '-----------------------------------------------------------' + exit $rc + fi echo -en 'travis_fold:end:script.configure\\r' echo 'Building...' && echo -en 'travis_fold:start:script.build\\r' @@ -62,14 +69,19 @@ case $wxTOOLSET in echo -en 'travis_fold:end:script.build\\r' echo 'Building tests...' && echo -en 'travis_fold:start:script.tests\\r' - make -C tests $wxJOBS failtest - make -C tests $wxJOBS + [ "$wxSKIP_GUI" = 1 ] || make -C tests $wxJOBS failtest + make -C tests $wxJOBS $wxMAKEFILE_FLAGS echo -en 'travis_fold:end:script.tests\\r' echo 'Testing...' && echo -en 'travis_fold:start:script.testing\\r' pushd tests && ./test && popd echo -en 'travis_fold:end:script.testing\\r' + if [ "$wxSKIP_GUI" = 1 ]; then + echo 'Skipping the rest of tests for non-GUI build.' + exit 0 + fi + if [ "$wxUSE_XVFB" = 1 ]; then echo 'Testing GUI using Xvfb...' && echo -en 'travis_fold:start:script.testing_gui\\r' pushd tests && xvfb-run -a -s '-screen 0 1600x1200x24' ./test_gui && popd