Our tests don't compile under Mac when targeting 10.9 and using C++17 as
they try to use C++17 std::uncaught_exceptions() which is only available
since 10.12 under macOS.
We could avoid the use of this function in the tests in this build
configuration, but for now just target 10.12 instead. Yet another
alternative would be to downgrade to using C++14.
Note that using C++98 results in tests build failure with clang as
libc++ doesn't allow using custom std::swap() specialization for
non-const references in its iter_swap(), it really requires using rvalue
references, which are, of course, only available in C++11 and later.
Move Precise (12.04) build to Trusty (4.04), move one of the existing
Trusty builds to Xenial (16.04) and all the other ones to Bionic (18.04)
to test under reasonably recent platforms too, and mostly.
The tests are known to fail for the other tested ports, so don't enable
them for now.
Also, using a special environment variable allows to detect when the
test is being run under Xvfb, which behaves differently from the normal
X server in some cases.
Add CMake-based build system.
Merge the original branch without any changes except for resolving the
conflict due to moving the contents of .travis.yml to a separate file by
propagating the changes done in this file since then to the new script
and rerunning ./build/update-setup-h and ./build/cmake/update_files.py
to update the file lists changed in the meanwhile.
Closes https://github.com/wxWidgets/wxWidgets/pull/330
Instead of adding a separate build, just reuse the existing monolithic
build to also use UTF-8: this is unlikely to miss any problems with the
monolithic build that would be found without using these options, but
also gives us a chance to find the problems in UTF-8 build, both at
compile-time and in the test suite.
This option now lists the available tags instead of showing the timing
information.
We could use Catch "--durations yes" option, but it results in too much
output, so for now just run the tests with default verbosity.
The minimal sample had been already built as part of "make samples", so clean
it before rebuilding it using the installed library version, otherwise we
never do anything in this step.
There is no need to specify it explicitly any more and it seems to confuse
make because of an apparent problem with (insufficient?) quoting in Mac
builds.
Using a single long command was always inconvenient and started displaying the
build results strangely since starting to build the samples conditionally in
62d2f4e5f5, so try using multiple commands with
"set -e" to ensure that we abort the build as soon as possible.
Don't build if configure failed and don't build tests if building the library
failed and so on: contrary to the expectations, Travis continues to execute
the rest of the commands even if a previous one had failed, so chain them all
explicitly together using "&&" to make sure we fail as soon as possible.
See https://github.com/travis-ci/travis-ci/issues/1066
wx-config doesn't include -std=c++11 in its output currently and it's not
clear whether it should (consider c++11 vs gnu++11 or even vs c++14), so add
this compiler option explicitly in C++11 Travis builds.
This allows to do make these steps more complicated, e.g. avoid using apt-get
under non-Linux (and even non-Debian/Ubuntu) platforms.
Also install GTK+ development package explicitly, while it's already available
on the older Travis Ubuntu 12.04 VMs, this is not the case for the newer 14.04
ones.
Install libcppunit-dev in order to be able to run the unit tests (at least the
non-GUI ones for now).
Also build in several configurations: shared/static, multilib/monolithic and
also STL. This should help to find problems appearing only in some specific
build variants.
Closes#15369.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74638 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
As cppunit is not available, building tests fails.
Also disable optimizations in an attempt to make the build faster as we risk
being killed because it takes so long.
Finally, test compilation of the minimal sample using the installed library
for completeness.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775