Any 64 platform had the added _x64 suffix. This will now be _arm64
when building for ARM64.
See #23347, #23355.
(cherry picked from commit 1edb38b54892273f2f932339d49b91f7b60fd3a4)
This is a combination of the following commits from master:
85105681d3 Use wxSOURCE_DIR and wxBINARY_DIR in config.cmake for consistency
1212247f3d Download WebView2 under current, and not top level, directory
3dcb7a415f Use output directory under wx directory in the build tree
See #22814.
(cherry picked from commit 359138321eef76af0fc62aeca084af0f940b1e4d)
Linux (until recently) defined dlopen() in libdl, but some other
operating systems (such as NetBSD) have it in libc.
Use CMake-provided variable for the name of the library to use for
dlopen() to fix NetBSD build.
Closes#22644.
(cherry picked from commit 9efe21b55a162f970bbbc187c2127068fef5bd74)
Add the directory only to the build interface, not to the install
interface. INTERFACE_LINK_DIRECTORIES can't use paths that are prefixed
in the source (or build) directory.
Closes#22524.
Remove unused CMake code to get number of mono source files.
wxUSE_BASE=1 is also defined in wx_set_target_properties.
There seems no reason to define _LIB and DLL_EXPORTS, wx does not use it. They
were probably added because the vcxproj files have them.
Keep using cotire for CMake versions older than 3.16, or when user specifies wxBUILD_PRECOMP=COTIRE.
The scintilla headers need to be specified for target_precompile_headers to work.
Enable it when the target has at least 2 source files (same as cotire does).
Add a new build option wxUSE_WEBVIEW_EDGE_STATIC.
If it is set to 1 the WebView2 loader is static linked into the binary
and removes the runtime dependency on WebView2Loader.dll.
Similar to other system libraries, use the builtin version on Windows and macOS
and try to find the system library on Unix.
Find the correct PCRE2 library based on the code point width that will be used.
Replace the use of Henry Spencer's regex library with PCRE at the build
level and enable wxUSE_PCRE in wxRegEx code to switch to PCRE-based
implementation there.
Note that this has to be done unconditionally because there is no simple
way to select between the previously used regex library and PCRE at the
makefiles level.
We could still keep the possibility to use the system regex library
under Unix, but this doesn't seem to be worth doing, as we don't support
Unicode REs properly when using it (and never did), so drop support for
this too.
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.
Fix wrong library name in wx_add_sample() for webrequest.
Also prefer to disable wxWebRequest if no backends for it are available,
for consistency with the other libraries.
wxWidgets already has a mechanism for locating plugins under
$libdir/wx/*, there's no reason to duplicate it with another
compile-time symbol.
As a consequence, this makes the library relocatable via WXPREFIX again.
Fix the location where the web-extension plugin is installed to be
consistent with the primary bakefile-based build system: i.e. to use
lib/wx/x.y.z for devel versions and lib/wx/x.y for stable.
Requires updates of expat and tiff submodules.
Most libraries have their own CMakeLists, add a comment with a suggestion to
use this for implementing build-in support.
Rename all library targets to start with wx. This way it does not use generic
names like base or core that could interfere with other libraries that add
include the wxWidgets project.
Add the hardware-specific source files to the build systems. Do not add MIPS
and PowerPC to MSVC build files, because these include <stdint.h> which is not
available for old MSVC versions.