Commit Graph

2978 Commits

Author SHA1 Message Date
Vadim Zeitlin
9ee85c7386 Merge branch 'ubuntu-dbgsym'
Make ASAN CI job work again under Ubuntu Focal, disabling leak detection
if we fail to install the required dbgsym packages (as happens right
now).

Closes https://github.com/wxWidgets/wxWidgets/pull/2290
2021-03-23 14:17:38 +01:00
Vadim Zeitlin
e442d90b0d Merge branch 'webrequest-build-fixes' of https://github.com/MaartenBent/wxWidgets
wxWebRequest-related build fixes for MinGW.

See https://github.com/wxWidgets/wxWidgets/pull/2283
2021-03-23 14:16:07 +01:00
Vadim Zeitlin
a47bb47165 Disable leak detection if debug symbols are unavailable
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.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
c471699187 Show apt sources and preferences used in the CI builds
This may be useful to understand where do the packages come from.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
51d796b88b Exit on first error in the before_install script
Any errors here are really fatal.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
9cb28353e7 Add a helper function to run apt-get
This simplifies the script and allows to log the commands in the build
log.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
d61719edde Show packages not being installed in the build log 2021-03-23 14:09:05 +01:00
Vadim Zeitlin
bc7a7b0c2d Hide confusing output from "tee --append"
This is used to just append to the file, not actually to see the output
of our own echo commands.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
4900c5e5b8 Don't use release-proposed repository for debug symbols
This seems to be unnecessary, as -proposed is not used for the actual
packages.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
899a5251fb Run apt-get more quietly
Avoid unnecessary progress messages about reading the database.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
ce1d6162f7 Run apt-get install only once and not twice
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.
2021-03-23 14:09:05 +01:00
Vadim Zeitlin
4dae461183 Move ASAN-specific packages installation
No changes yet, just reorganize things to make upcoming changes simpler.
2021-03-23 14:09:05 +01:00
Maarten Bent
3cc48e2e56 Fix checking __MINGW64_VERSION_MAJOR for wxUSE_WEBREQUEST_WINHTTP
It is not yet defined for setup.h, so check it in chkconf.h.
Fixes #19105
2021-03-23 00:39:16 +01:00
Vadim Zeitlin
c24193f299 Merge branch 'stl-fixes'
Minor fixes to STL build.

See https://github.com/wxWidgets/wxWidgets/pull/2289
2021-03-22 23:24:13 +01:00
Vadim Zeitlin
b5f7ed2169 Manually update expired key for ddebs.ubuntu.com repository
Retrieve the latest key, which was extended for another year.

See https://bugs.launchpad.net/ubuntu/+source/ubuntu-keyring/+bug/1920640
2021-03-22 23:23:56 +01:00
Vadim Zeitlin
1cdf59ff92 Remove "basic STL functionality" configure and CMake checks
This check didn't work in configure when using C++17 or later, as
std::bind2nd() is removed in C++17 and so was worse than useless as it
actually prevented --enable-stl from working.

And while it was only done when using C++98 in CMake, it still seems
pretty useless there too as there should be no environments in which
basic stuff like std::vector<> or std::find_if() is not available.

So just remove it entirely.
2021-03-22 18:38:10 +01:00
Tobias Taschner
c69193d3da
CMake: enable more warnings for GCC/Clang
Enable the same warnings for GCC and Clang as are
enabled with a configure build
2021-03-17 12:58:17 +01:00
Stefan Csomor
d1efcc374b Adding GLKit to console and cmake builds 2021-03-15 14:09:07 +01:00
Stefan Csomor
d2913e560e fixing xcodeproj for cocoa
fix_xcode_ids.py, removal of webkit.mm and adding cgreddlgg.cpp
2021-03-14 15:28:34 +01:00
Stefan Csomor
1b2a1832f7 running fix_xcode_ids.py over iphone project
we missed that one after the last changes
2021-03-14 15:27:41 +01:00
Stefan Csomor
16facf7d70 removing deleted webkit.mm from iphone proj 2021-03-14 15:24:47 +01:00
Vadim Zeitlin
2551df746d Merge branch 'cmake-mono-webview' of https://github.com/MaartenBent/wxWidgets
CMake: fix monolithic build with webview.

See https://github.com/wxWidgets/wxWidgets/pull/2269
2021-03-09 21:44:27 +01:00
Maarten Bent
0bb9cd004d CMake: copy webview2 loader for monolithic build 2021-03-08 00:26:24 +01:00
Maarten Bent
3198ed0b18 CMake: reset webview2 package dir if it does not exist anymore
And make the variable internal so it does not create an 'Ungrouped Entries' group in cmake-gui.
2021-03-07 22:06:46 +01:00
Maarten Bent
560656c699 CMake: do not use target webview in monolithic build 2021-03-07 22:06:46 +01:00
Vadim Zeitlin
39a46db345 Merge branch 'gtk-x-checks-simplify'
Simplify X11 checks and make them work when using Wayland-only GTK.

See https://github.com/wxWidgets/wxWidgets/pull/2261
2021-03-05 18:52:23 +01:00
Vadim Zeitlin
9a84e0b25e Don't require X11 in CMake builds using Wayland-only GTK
X11 headers and libraries are only required if we're actually using X11
which may not be the case.

This allows to build wxGTK on the systems using Wayland-only GTK.
2021-03-01 13:32:57 +01:00
Maarten Bent
272c903234 Silence unknown pragmas warning in the WebView2 header
Using wxGCC_WARNING_SUPPRESS(unknown-pragmas) around the webview2 header does
not work, so suppress it for the entire webview project.
2021-03-01 00:09:23 +01:00
Maarten Bent
09bc566b60 Support building wxWebViewEdge with GCC or Clang
Add EventToken.h with EventRegistrationToken implementation, that can be used by the WebView2 header.
2021-03-01 00:09:23 +01:00
Vadim Zeitlin
a5afa85c0a Always use pip for installing httpbin in Travis CI builds
Using Docker just doesn't work: simply running "docker pull" fails due
to the pull rate limits all the time, see e.g.

https://travis-ci.org/github/wxWidgets/wxWidgets/jobs/759810039#L2628

while following Travis own instructions for dealing with this problem at

https://blog.travis-ci.com/docker-rate-limits

results in the build failure due to secret environment variables not
being accessible from the PRs for security reasons, see

https://travis-ci.org/github/wxWidgets/wxWidgets/jobs/759820694

So use pip everywhere, even under Ubuntu 14.04, where it doesn't work
out of the box as it tries to install globally when it doesn't have the
permissions to do it.
2021-02-21 14:57:10 +01:00
Vadim Zeitlin
4705645243 Merge branch 'travis-use-pip'
Use pip rather than docker for installing httpbin under Travis to avoid
errors due to rate limits for docker pull.

See https://github.com/wxWidgets/wxWidgets/pull/2236
2021-02-20 13:24:31 +01:00
Vadim Zeitlin
e848c54f0f Use pip for installing httpbin in most Travis CI builds
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.
2021-02-15 22:24:10 +01:00
Andriy Byelikov
ded4da5ce5 Add version suffix to gettext message catalog files
Change "make install" to install catalog files with version suffix and
modify the sources to look for suffixed catalog first, while still
falling back to just the base name if the variant with the version is
not found, because the message catalogs are copied manually in practice
under MSW/macOS systems and so won't have the version suffix there.

This allows to make message catalogs installed by different
wxWidgets versions to coexist on the same system, see
https://groups.google.com/g/wx-users/c/L9gC8UgrO6Y

Closes https://github.com/wxWidgets/wxWidgets/pull/2219

Co-Authored-By: Vadim Zeitlin <vadim@wxwidgets.org>
2021-02-15 18:23:05 +01:00
Tobias Taschner
1ee05c54ed
CMake: Download SDK when wxUSE_WEBVIEW_EDGE=ON
Automatically download the WebView2 SDK from nuget (official repo for the SDK)
when enabling wxUSE_WEBVIEW_EDGE to simplify usage.
Copying to 3rdparty/webview2 is still supported optionally.
2021-02-08 21:29:08 +01:00
Vadim Zeitlin
26eb738562 Merge branch 'drop-msw-it.po'
Remove platform-specific translations.

This is unnecessarily complicated for the single string that we
currently use this for, so just handle it specially.

Also some other minor translation-related improvements.

See https://github.com/wxWidgets/wxWidgets/pull/2213
2021-02-08 12:50:43 +01:00
Maarten Bent
b3b5cde7f5 CMake: Mark some build options as advanced 2021-02-07 20:34:42 +01:00
Maarten Bent
9585e08365 CMake: Add benchmarks
Put each benchmark application in a sub-directory instead of specifying all in one
file, because cotire cannot create PCH targets for the same file twice (bench.cpp).
2021-02-07 20:34:42 +01:00
Maarten Bent
7b79423470 CMake: Add argument to specify console app that uses gui libraries 2021-02-07 20:11:56 +01:00
Vadim Zeitlin
e539cb69bb Remove platform-specific translations support
As shown by the fact that no other platform-specific translations were
ever added since the initial version of locale/msw/it.po added way back
in 4d931bcca0 (Translate '&Help' to '&' for italian Windows only,
2005-08-12), this is not especially useful, so just handle this
particular case specially in wxGetStockLabel() and remove support for
platform-specific translations.

This allows to simplify the makefiles and the catalog loading code as
there is no need to deal with the files in subdirectories any more.
2021-02-07 00:06:21 +01:00
Vadim Zeitlin
67fc7c5508 Merge branch 'remove-setup0.h'
Drop wx/setup0.h files hack and just use wx/setup.h.

See https://github.com/wxWidgets/wxWidgets/pull/2205
2021-02-06 14:26:25 +01:00
Artur Wieczorek
e73cb85246 Add tests of wxGraphicsBitmap 2021-02-05 23:52:29 +01:00
PKEuS
98d3a4ccdc Enable standard-confirming new behaviour in MSVS 201x projects
Use /Zc:throwingNew option for the compilers supporting it instead of
defaulting to compatible behaviour, which assumes that operator new can
return NULL on allocation failure, that we don't need, at least in the
release builds.

This is also slightly more efficient as it allows the compiler to avoid
generating null checks after calling new.

Closes #19069.
2021-02-01 13:26:59 +01:00
Vadim Zeitlin
d1810b0dce Remove setup0.h files
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.
2021-01-31 19:02:56 +01:00
Vadim Zeitlin
2aba3ad0e1 Ignore leak from atk_bridge_adaptor_init() when using ASAN
There doesn't seem to be any way to avoid calling it or freeing
(multiple) memory blocks allocated by it.
2021-01-31 17:33:04 +01:00
Vadim Zeitlin
0718f641f5 Install more debug symbols for ASAN builds
Install glib and gtk symbols which are required to get full information
from the LeakSanitizer stack traces.
2021-01-31 17:32:34 +01:00
Vadim Zeitlin
f31a064848 Install libcurl to make it available in the CI builds
It's not installed by default at least on GitHub Actions images.
2021-01-28 00:04:39 +01:00
Vadim Zeitlin
8e8a86aed0 Fix return code from testing script in case of error
Using type reset %errorlevel% and the errors were not detected any
longer.
2021-01-27 14:56:29 +01:00
Vadim Zeitlin
b394bb1b87 Show httpbin output if the test failed, not if it succeeded
This output is mostly useful for diagnosing errors, so it's not very
useful to show it only after successful test completion in after_test
command.
2021-01-27 10:01:53 +01:00
Vadim Zeitlin
623c4811ab Run httpbin in appveyor.yml to be able to stop it later
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.
2021-01-26 22:50:43 +01:00
VZ
75b4f5439a
Fix setting WX_TEST_WEBREQUEST_URL in AppVeyor builds
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>
2021-01-25 18:22:40 +01:00