libwebkit2gtk-4.1 has the same API as libwebkit2gtk-4.0, except that the
former links with libsoup-3.0 and the latter links with libsoup-2.4.
Fixes#23630.
(cherry picked from commit 1b8664426603376b68f8ca3c54de97ec630e5940)
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)
Checking LOCATION{_CONFIG} property on interfaces is only supported
since CMake 3.19. Also check the LOCATION and IMPORTED_LIBNAME
properties for possible library locations.
See #23632.
(cherry picked from commit 0f1f61a9c8c9fc8c4cb81a380df157e8171b0712)
CMake's has built-in support for checking xkbcommon using FindX11 since
3.18.
But because older CMake versions are supported, add our own module that
checks if the header and library is available.
See #23410, #23613.
(cherry picked from commit a801057f1a7fba8e353be9481c1e621b8bf1dbe2)
XPM files demonstrating the use of wxBitmapBundle in the XRC files
were not copied when building the XRC sample with CMake.
This should have been part of eaa769a (Use wxBitmapBundle in
wxBitmapComboBox XRC handler, 2022-02-09).
See #23612.
(cherry picked from commit 241ed70b5bb643ba7c84e420d9cbba7618bed194)
The latter are deprecated and shouldn't be used any longer.
No real changes.
See #23537.
(cherry picked from commit a0e3f1e1aba5fd7858936773f09d96ae63041381)
Use the LOCATION_DEBUG or LOCATION_RELEASE property of an imported target (like NanoSVG)
to determine the full library path.
See #23373, #23390.
(cherry picked from commit 81029586653c662d7a6bff3cc2e0e45e417cb248)
Define HAVE_LARGEFILE_SUPPORT and add '_FILE_OFFSET_BITS=64' compile definition.
Make it a PUBLIC definition so it is part of the interface, and defined when importing a target.
Check if fseeko is available, which is used in the large file code.
Also add the compile definition to wxconfig's cppflags, because configure does this too.
Large file support can be disabled with the wxBUILD_LARGEFILE_SUPPORT option, similar to configure's --disable-largefile.
Fixes#22750
(cherry picked from commit 1051dfd1410673a25a767fb3b448c858f493108a)
It is defined as 1, and not as nothing, in configure-generated setup.h
and some projects, e.g. wxPython, rely on this, so do it in the same way
when using configure for consistency.
See #23021.
(cherry picked from commit 934fb8c228f8df70eba918fa05e06c5c945b9b22)
The vendor string was ignored for the stable wxWidgets versions (e.g.,
3.2). However, vendor should be always used when available, regardless
of wxWidgets version. The only case when vendor should not be used is
when creating official builds (currently not done with CMake).
See #22931.
(cherry picked from commit 48434622c6f797f0f54d40da61b327f3dca081c8)
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)
We must always use them with wxGTK2, so don't check wxHAVE_GDK_X11 for
it, otherwise we're never going to include X11 libraries when using it,
but they are always required.
See #22813.
(cherry picked from commit 3d80c2beee9d5c59c0442c51c2392af669468ee5)
This was erroneously removed in ad75a77bc6 (CMake: Cleanup the
wx_configure_script macro, 2021-10-27).
Fixes#22806.
See #22809.
(cherry picked from commit 49b62441b53d81d4d1dc48438c7b76852fb0fb04)
CMake: Add GTK Printing support.
And show the extra toolkit options in the CMake summary, fix using
libnotify and gnomevfs with gtk3 and fix some unused parameter warnings
when using gtk2 or gtk3 on Windows.
See #22745, #22762.
(cherry picked from commit d9a78be16c95ec9b6877cda93d2446b711cc3d4e)
Since we do not provide a FindNanoSVG module, we should use the built-in
version of the library by default. And prevent warnings about not being
able to find the package configuration file.
See #22748.
(cherry picked from commit 9b0f715f55169cf983f24d7acc730ea80ba9cbad)
Don't replace OPENGL_LIBRARIES, but prepend existing targets too it.
Also add OPENGL_EGL_INCLUDE_DIRS to OPENGL_INCLUDE_DIR.
See #22649.
Closes#22677.
(cherry picked from commit 667c5c843b89ed46e3a64242f94487866cb8c3be)
Move the warning definitions inside the if-statements.
Don't use -Wno-ctor-dtor-privacy and -Woverloaded-virtual for C files, to fix
'is valid for C++/ObjC++ but not for C' warning.
See #22696
(cherry picked from commit 9861386fef6d1eb5f1a523712cd5712e0f3cd627)
Disable wxUSE_JOYSTICK if linux/joystick.h is not found on Linux systems.
See #22646
(cherry picked from commit 97a787a1eeb42b3fa739faa44a627c8f5dc66083)
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)
This is a combination of 1b1155305601f2198383188a621255c6837fab9d from
master and minimal changes to make the code compile when both statvfs()
and statfs() are available.
This commit is best viewed with Git --color-moved
--color-moved-ws=ignore-all-space -w options.
For example vc_lib, vc_x64_lib, vc_dll, vc_x64_dll, gcc_lib and gcc_dll all in
the same installation location. Disable the architecture (32 vs 64 bit)
compatibility check in the version file.
The config file uses the wxWidgetsTargets file to find all the libraries that
can be linked to.
It supports checking for components (e.g. base, core, aui, gl) and fails if a
requested component is not found.
Set the version compatibility to SameMinorVersion (when CMake supports this),
because different minor wxWidgets versions (3.0 and 3.1/3.2) are expected to
break API.
Because the default libraries are named like wx::wxname, create an alias that
is just called wx::name. CMake older than 3.18 does not support creating an
alias to non-global imported targets, so manually create a library with the
same properties.
The wxWidgets CMake build only builds the Release and Debug configurations, but
when creating a (MSVC) CMake project it also contains MinSizeRel and
RelWithDebInfo configurations. By default these seems to use the Debug
libraries, causing build errors. Map them to the Release libraries instead.
Also create a wxWidgets_LIBRARIES variable that can be used to link with, so
users can keep using the same variables from FindwxWidgets.
The headers are installed in 'include/wx-3.1/', so also use this in the INSTALL_INTERFACE.
Determine wxINSTALL_INCLUDE_DIR only once and reuse it in install.cmake.
Use wx_install macro so install is only used when wxBUILD_INSTALL is set.
The install.cmake script has a check for wxBUILD_INSTALL, so don't use it there.
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.
This makes the code much more clear: LoadDib() now reads all the header
data while LoadBMPData() reads bitmap data only and doesn't read any
header values any more, unlike before.
It also allows not to have to pass neither bmpOffset nor IsBmp
parameters to LoadBMPData(), making its argument list much more
reasonable.
Finally, and, most importantly, it fixes loading bitmaps using
BI_BITFIELDS that was broken back in cccda9ef6b (Fix loading colour
palette from BMP file, 2019-12-28).
This commit also adds a unit test checking that this doesn't get broken
again without anyone noticing.
See #18634.
Closes#22499.
Don't use external image files, this makes it simpler to run the test
(it can be now done from any directory) and also experiment with it
(e.g. by making the test image fully transparent or fully opaque).
Remove the now unneeded .ico file but keep the .png one still used by
another test.
Change the minimum version to 3.0. Version 2.8.12 has never worked,
because it does not support the VERSION parameter in project().
Replace GREATER_EQUAL comparisons, these are only supported since 3.7.
Move PCH related code to a separate file, and include it after
options.cmake and init.cmake. Because only then the wxBUILD_PRECOMP
variable is fully initialized.
Closes#22312.