There is no way to stop a background task simply and safely with
cmd.exe, but in appveyor.yml we can use PowerShell, so use its job
support to do it instead.
This is important because AppVeyor waits until all jobs launched by the
script terminate, so without stopping the background job all builds
waited for an hour before timing out.
Don't use quotes around the value, they're not special for cmd.exe
and remain part of the actual variable value.
Co-authored-by: Maarten <MaartenBent@users.noreply.github.com>
Docker isn't available under Mac, unfortunately.
Notice that it's still better to use Docker if it is available, rather
than using pip everywhere, as pip has trouble installing httpbin in the
Ubuntu 14.04 build, for example.
Run httpbin (either directly or inside a container) and set
WX_TEST_WEBREQUEST_URL to point to localhost.
Note that it is important _not_ to have a trailing slash in the root
URL, otherwise WebRequest::Auth::Digest test would fail.
This reverts commit 7ec39330d2 because
enabling verbose ASAN output results in too much output for Travis to
handle (and, to be fair, for it to be useful).
Don't rely on just a single GTK version being installed on the system,
as we do now, but select the version we want explicitly, just to avoid
bad surprises in the future (even if it doesn't change anything for
now).
Do it for consistency with the 32-bit package and to ensure that the
provided wxrc.exe binary can be run without downloading any extra files.
Closes https://github.com/wxWidgets/wxWidgets/pull/1991
Using "pushd tests && test-command && popd" loses the exit code of the
test command, as it's not taken into account by "set -e" when the
command is part of a "&&" list.
Fix this by simply splitting such lists in their individual commands.
Use arrays to simplify passing CXXFLAGS and LDFLAGS, both of them may
contain spaces, separately on make command line.
Simpler solution of just using individual variable doesn't work because
of bash/POSIX word splitting behaviour (zsh should be blamed for
spoiling me with its much more reasonable behaviour and allowing me
to forget about this insanity in the first place). In principle, we
could work around this by temporarily resetting IFS, but using arrays is
arguably more clear and this script already uses bashisms, in spite of
its shebang line.
Setting CXXFLAGS=-Werror in the environment wasn't enough, it was still
overridden by the empty CXXFLAGS in the makefile.
Ideal would be to get rid of the empty flags there, but for now override
them on make command line explicitly.
Use of -Werror results in failures of configure tests that should
normally succeed, e.g. testing for va_copy() when cross-compiling for
iOS, so don't do it and just enable -Werror for building our own code.
Add wxALLOW_WARNINGS which can be set to prevent this from happening for
the ports where we don't want to avoids warnings anyhow because they
indicate real problems in the code, such as wxDFB.
Use the following CMake flags:
-DCMAKE_SYSTEM_NAME=iOS - for specifying it is an iOS build
-DCMAKE_FIND_ROOT_PATH=/usr/local - dir to search for the built wxWidgets libraries
-DCMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_ALLOWED=NO - don't require signing app packages
-DCMAKE_OSX_DEPLOYMENT_TARGET=10.12 - specify a target so both the libraries and sample will use the same architecture
Also use the code signing flag when testing precompiled header support.
Don't build the default samples, widgets sample has features that are not supported by the iOS build.
Xcode seems to rebuild the libraries when installing, so call CMake only once.
Start the fold before echoing the description, so the description is shown when folded.
Combine Xcode checks into one statement.
Add missing '-G' argument when building sample using CMake.
* fixing compilation of tests that cannot build
bracket code with the corresponding wxUSE… macros
* adding directive for iOS
* adding a switch for skipping the run - not the build of tests
right now I don’t know yet, how to run the test binary in the iOS simulator, but building it is still a good test in itself
* adding skipping of tests
* increasing minimum deployment to get proper c++17 support
* using --disable-sys-libs, restoring other targets
even when the zlib in -isysroot is used, due to deployment on lower iOS versions inflateValidate may not be available and crash. The guards are evaluated using macros from the zlib from the SDK, not from the lowest version supported.
This works around a problem in our build system which doesn't set rpath
correctly when linking our own libraries, which means that "qa" library,
for example, doesn't record the path to its "xml" library dependency.
We already worked around this by linking any program using "qa" with
"xml" too, however this doesn't do anything if "--as-needed" flag is in
effect, as is the case by default under Ubuntu 18.04, so make our
workaround work by forcefully disabling this flag.
Real solution would be to use -Wl,-rpath correctly and then stop linking
with "xml" library unnecessarily in e.g. test_gui bakefile.
Somehow this wasn't necessary on the old Ubuntu version, but is needed
under Bionic.
Ideally configure shouldn't refuse to build everything if just Qt5OpenGL
is not found, and just disable OpenGL support, but this enhancement can
be done later.
"failtest" target is not built by default and it's not trivial to change
this, as it needs to be built before anything else (and not in parallel
with it, as otherwise object files created while building the tests
could be removed), so just build it manually before building the tests
themselves in Travis CI builds (or at least those of them using
configure and make).