There just doesn't seem to be any way to make this work right now, so
handle dbgsym packages installation failure and disable leak detection
in this case.
Hopefully ddebs.ubuntu.com repository will be updated in the future,
allowing this to work again.
Add -dbgsym packages to extra_deps and pass them to the same apt-get
command we use for installing all the other dependencies.
This is slightly faster and also makes it simpler to pass extra options
to apt-get, as we're going to do in the next commit.
Using docker results in errors due to rate limit on pulling, so try to
reduce its use as much as possible. It still has to be used under Ubuntu
14.04 because it has a version of Python too old to work with HTTPS
servers using SNI and so using pip fails there.
Simplify things by putting setup.h files themselves under version
control and getting rid of setup0.h ones.
The initial motivation for using separate setup0.h files was to allow
having local changes to setup.h, but with Git there is a simple way to
do it by using "git update-index --skip-worktree include/wx/msw/setup.h"
for example, so we don't really need setup0.h any more and dropping them
makes things simpler.
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).
This should fix builds that terminate due to: job exceeded the maximum
log length and generally make Xcode build logs more readable and useful.
Closes https://github.com/wxWidgets/wxWidgets/pull/1747
Done by running misc/scripts/inc_release, manually updating version.bkl,
rebaking and rerunning autoconf.
Also a header for the next version to the change log.
Add wxMSVC_VERSION_ABI_COMPAT definition to the version of the file
included in the binary distribution to make it compatible with the
actual DLL names.
Closes#18510.
Older versions of the server default to 8bpp, which breaks some of our
tests (admittedly, this shouldn't be the case, but it's probably better
to test in the same configuration as is used by 99.99% of the users
rather than adjusting or disabling tests in the remaining 0.01%).
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.
We used docs/msw/install.txt for this previously, but it was too long to
be comfortably viewed in the installation wizard and also incidentally
doesn't exist any more, so add a new, short file just referring the user
to its replacement.