Commit Graph
3744 Commits
Author SHA1 Message Date
Vadim Zeitlin 8bfadeeb76 Fix typos in webview CMake makefile comments
No real changes.
2026-01-05 21:27:15 +01:00
Vadim Zeitlin 0a6523c4d9 Update copyright years to 2025
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.10 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
No Response / no-response (push) Has been cancelled
Just run misc/scripts/inc_year and commit the results.

See #18690.
2026-01-01 17:40:18 +01:00
Vadim Zeitlin d9df7db130 Allow choosing between GLX and EGL during run-time
The same library binary can now be used to use either GLX or EGL for
wxGLCanvas implementation instead of the choice being done at build time
(by either always using EGL if it is enabled or always using GLX
otherwise).

New wxGLCanvas::PreferGLX() function (available only if wxHAS_GLX is
defined) can be used to request using GLX even if EGL is available,
otherwise EGL is used by default, just as before.

Additionally new "opengl.egl" system option can be used to the same
effect, mostly to allow users to set "wx_opengl_egl" environment
variable to 0 to use GLX if possible, i.e. with X11 and not Wayland.
2025-12-10 15:37:06 +01:00
Maarten Bent 413ce93fbc Regenerate projects 2025-12-06 12:36:20 +01:00
Maarten Bent b93ee4156c Add new files to build systems 2025-12-06 12:36:20 +01:00
Maarten Bent b25f44a7c4 Add test for including Windows headers before wx headers
Test both ANSI and WIDE (with/without UNICODE) builds.
2025-11-16 14:49:47 +01:00
Maarten Bent bfd436b39f CMake: Make _UNICODE/UNICODE defines private
Applications/libraries linking to wxWidgets libraries will not automatically inherit them anymore.
2025-11-15 18:55:06 +01:00
Stefan Csomor bba463aac2 Use native macOS API in wxBase in all GUI builds under Mac
Use the same wxBase library, using native API, regardless of whether
native API (Cocoa) or wxGTK is used by wxCore when building under
macOS.

Add new and more clear and simpler to use preprocessor constants for
testing for various builds on Apple hardware.

Also fix compilation with older macOS versions and gcc (not clang).

Closes #25919.
2025-11-09 01:16:57 +01:00
Maarten Bent 514486b52f CMake: Improve creating Wayland protocol files
Create the files in a temporary directory and only copy them to the
final directory if the files are different.

This prevents the source files from being rebuilt every time CMake is
run and the protocol files are replaced.

Exclude the protocols directory from being installed.

Closes #25945.
2025-11-01 22:11:11 +01:00
Vadim Zeitlin 1ec01aba44 Merge branch 'stc-document-map'
Merge the correct wxStyledTextCtrlMiniMap branch.

This supersedes wrong accidental merge in the parent commit.

See #25887.
2025-10-29 00:31:52 +01:00
Maarten Bent 6e4bfe6752 Remove duplicate headers from file list
Remove wx/msw/init.h and wx/scopeguard.h headers from the core headers
list, as they are already included in the base headers list.

Closes #25913.
2025-10-25 15:10:59 +02:00
Maarten Bent a36bebacc0 CMake: Update naming convention check in config file
Use the same check as is used in options.cmake.

Closes #25910.
2025-10-25 15:09:00 +02:00
Vadim Zeitlin e17485d4c5 Merge branch 'master' into stc-document-map
Resolve conflicts in Xcode projects by regenerating them.
2025-10-21 02:08:39 +02:00
Stefan Csomor 5550862651 Parts of Updates to or activation of wxChoice, wxStaticBitmap, wxCheckbox on iOS (#25899, #25846)
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.8 (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
* iOS only parts of #25846

Activate and use wxBitmapBundle in wxStaticBitmap
Activate wxChoice and implement EVT_CHOICE
Small correction about Resource directory on IOS
Implement label next to checkbox

* fixing trailing whitespace

* fixing whitespace
2025-10-20 20:44:00 +02:00
Vadim Zeitlin f0b72c36b1 Move wxStyledTextCtrlMiniMap from stc sample to the library
After experimenting with this code in the sample, move it to its
permanent place in the library.

This commit is best viewed using Git --color-moved option and ignoring
whitespace changes.
2025-10-17 02:11:02 +02:00
Robert RoeblingandStefan Csomor 9469d6d4c8 Implement wxNotebook in wxiOS
Unix builds / Ubuntu 18.04 wxGTK 3 compatible 3.0 (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK ASAN not compatible (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK UTF-8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxQt (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxX11 (push) Has been cancelled
Unix builds / Ubuntu 20.04 wxGTK 3 with clang (push) Has been cancelled
Unix builds / Ubuntu 22.04 wxGTK with wx containers (push) Has been cancelled
Unix builds / Ubuntu 24.04 wxGTK UBSAN (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxDFB (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 3 static with gcc 4.8 (push) Has been cancelled
Unix builds / Ubuntu 18.04 wxGTK 2 (push) Has been cancelled
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.8 (push) Has been cancelled
Mac builds / wxMac ARM ASAN not compatible (push) Has been cancelled
Mac builds / wxMac Universal C++14 (push) Has been cancelled
Mac builds / wxiOS Simulator on Silicon Mac (push) Has been cancelled
Mac builds / wxiOS (push) Has been cancelled
Mac builds / wxMac Intel C++17 (push) Has been cancelled
Mac Xcode builds / iOS Simulator static (push) Has been cancelled
Mac Xcode builds / macOS dynamic Release (push) Has been cancelled
Mac Xcode builds / iOS static Debug (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
MSW cross-builds / wxMSW 64 bits not compatible (push) Has been cancelled
MSW cross-builds / wxMSW/Univ (push) Has been cancelled
MSW cross-builds / wxMSW 32 bits (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
Update Documentation / Update Online Documentation (push) Has been cancelled
No Response / no-response (push) Has been cancelled
Closes #25857.

Closes #25867.

Co-authored-by: Stefan Csomor <csomor@advancedconcepts.ch>
2025-10-07 14:58:29 +02:00
Robert Roebling fcb297d57c Implement wxListBox for iOS
Closes #25858.
2025-10-07 10:39:49 +02:00
Dmitry Vilkov da806139d5 CMake: Use 'find_dependency()' in Config file
It is designed to be used in a Package Configuration File
(<PackageName>Config.cmake). find_dependency() forwards the correct
parameters for QUIET and REQUIRED which were passed to the original
find_package() call.

See
 https://cmake.org/cmake/help/latest/module/CMakeFindDependencyMacro.html

Closes #25850.
2025-10-06 22:57:55 +02:00
Stefan Csomor f8219ee88e OSX iOS support appearance colours (#25853)
* bringing cocoa and ios implementations closer, adding appearance to ios colours
* using native appearance colors in src/osx/iphone/settings.mm
* add common native type WXColor into wx space, resolving to either NSColor or UIColor
2025-10-05 14:55:36 +02:00
Blake-Madden 8c68c1a17f Upgrade auto-downloaded WebView2 version
Download 1.0.3485.44 instead of 1.0.1722.45 used before.

Also document how to update SHA256 hash in the build script.

Closes #25817.
2025-09-20 13:24:50 +02:00
Vadim Zeitlin ace3d4d936 Merge branch 'cmake-lib' of github.com:MaartenBent/wxWidgets
Miscellaneous CMake improvements.

See #25796.
2025-09-18 01:29:27 +02:00
Maarten Bent 67da47fdd8 CMake: Create wxWidgets::wxWidgets target when building
This is used by FindwxWidgets and already created in the installed CMake files.
Also create it when building wxWidgets, so it can be used when wxWidgets is included via add_subdirectory.

Also create aliases to all targets using the wxWidgets prefix.
2025-09-17 22:37:12 +02:00
Maarten Bent 2ddce18cee CMake: Improve WIN32_MSVC_NAMING when using other compilers 2025-09-17 21:25:25 +02:00
Maarten Bent 87110a3cf0 CMake: Use global variable to keep track of installed files 2025-09-17 21:25:17 +02:00
Maarten Bent 34993f9ca2 CMake: Move GEN_EXPR_DIR into function using it 2025-09-17 21:22:50 +02:00
Maarten Bent f36633d21d CMake: Use GNUInstallDirs variables when installing
These are used for the default library/archive/runtime/include directories,
but can be overridden with wxBUILD_INSTALL_<artifact>_DIR.

Replace the hard-coded lib and bin directories with wx_get_install_dir().
2025-09-17 21:22:49 +02:00
Chris Mayo 9e1ac33d87 Fix shared CMake build using external WebP library
Link with libwebpdemux too, not just libwebp.

Closes #25794.
2025-09-16 12:17:17 +02:00
Maarten Bent 74cb6d92d0 CMake: Add/update the version range
The CMake files are compatible with (at least) CMake 4.1.
This silences the 'CMake < 3.10 deprecated' messages with recent CMake versions.
2025-09-14 21:51:09 +02:00
Maarten Bent 680b0b5408 CMake: Mark more variables as advanced 2025-09-14 21:51:08 +02:00
Maarten Bent 76b9b23260 CMake: Don't recreate existing targets
This allows to use findPackage(wxWidgets) twice, e.g. to check for different components.
2025-09-14 21:51:08 +02:00
Maarten Bent 295d089477 CMake: Remove duplicate find_package
Packages of third-party dependencies were searched twice. Once when adding them via wx_add_thirdparty_library to determine if they are available or of the built-in library should be used. And then again when including the third-party cmake file. Move all the logic into the third-party library cmake file.

This also removes the need to move the WebP variables into the parent scope.
2025-09-14 21:51:07 +02:00
Maarten Bent 4d1b1d62b0 CMake: Update cotire to 1.8.1 2025-09-14 21:51:07 +02:00
Vadim Zeitlin ad4b3b18b0 Merge branch 'cmake4' of github.com:cjmayo/wxWidgets
Improve CMake 4 compatibility.

See #25781.
2025-09-14 15:03:05 +02:00
Chris Mayo 771d4df4b7 CMake: improve handling of wxBUILD_INSTALL_LIBRARY_DIR
CMake builds / Ubuntu 22.04 wxGTK 3 (push) Has been cancelled
CMake builds / MSW/MSVC wxMSW (push) Has been cancelled
CMake builds / MSW/Clang wxMSW (push) Has been cancelled
CMake builds / macOS latest wxOSX Ninja (push) Has been cancelled
CMake builds / macOS 14 wxOSX Xcode (push) Has been cancelled
CMake builds / macOS 14 wxIOS (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 5.15 (push) Has been cancelled
CMake builds / MSW/MSVC wxQt 6.8 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Debug x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 DLL Release x64 (push) Has been cancelled
MSW builds / wxMSW vs2022 Debug Win32 (push) Has been cancelled
MSW builds / wxMSW vs2022 Release arm64 (push) Has been cancelled
Code Checks / Check Spelling (push) Has been cancelled
Code Checks / Check Whitespace (push) Has been cancelled
Code Checks / Check Mixed EOL (push) Has been cancelled
Code Checks / Check C++ Style (push) Has been cancelled
Code Checks / Check All Headers In allheaders.h (push) Has been cancelled
No Response / no-response (push) Has been cancelled
Install wx/config and wx/include into wxBUILD_INSTALL_LIBRARY_DIR.

Closes #25746.
2025-09-10 13:48:38 +02:00
Maarten Bent c6ddb6ef89 Fix static CMake build using external WebP library
Define WebP_LIBRARIES and WebP_INCLUDE_DIRS in the parent scope,
otherwise the caller never gets the values found by either
find_package() or pkg_check_modules().

Closes #25786.
2025-09-10 13:45:45 +02:00
Chris Mayo 47e132ec72 CMake: Stop including CMakeParseArguments module
A placeholder for compatibility with CMake < 3.5.
2025-09-09 19:49:55 +01:00
Chris Mayo 647b57f3ad CMake: Update cotire CMake minimum version to 3.5 2025-09-09 19:49:55 +01:00
Vadim Zeitlin 78b2cb52f5 Merge branch 'use-wayland-scanner'
Use wayland-scanner at build time instead of pre-generated files.

See #25769.
2025-09-08 14:54:29 +02:00
Vadim Zeitlin f1463f2e58 Merge branch 'libwebp' of github.com:cjmayo/wxWidgets
CMake: Support finding system libwebp using pkg-config too,

See #25763.
2025-09-08 14:29:08 +02:00
Vadim Zeitlin d083668c2c Merge branch 'wx_cmake_dir' of github.com:cjmayo/wxWidgets
CMake: Install cmake files into a versioned directory.

See #25757.
2025-09-08 14:28:21 +02:00
Vadim Zeitlin af750b6415 Remove wayland-protocols CMake custom command
Generate the required files during the configure step instead, we don't
really need to ever regenerate them, so this is simpler and doesn't take
any time when building later.
2025-09-08 01:13:24 +02:00
Vadim Zeitlin 03fa77ec83 Improve handling of wayland-client in CMake
Add only WAYLAND_CLIENT_INCLUDE_DIRS to wxTOOLKIT_INCLUDE_DIRS instead
of adding WAYLAND_CLIENT_CFLAGS to them as CFLAGS might, in theory,
contain something else.

For now just ignore any non -I options from CFLAGS (there shouldn't be
any, normally).
2025-09-08 01:07:55 +02:00
Vadim Zeitlin 5ef4bcef28 Warn if wayland-client or wayland-scanner are not found
If these warnings are annoying, Wayland support can be explicitly
disabled to avoid them.
2025-09-08 01:07:55 +02:00
Vadim Zeitlin 0d76e11f1a Fix wrong test for WAYLAND_CLIENT in CMake
Correct the test added in 147458e0ed (Use wp_pointer_warp_v1 if
available in wxWindow::WarpPointer(), 2025-07-28) which was missing the
module to check for.
2025-09-08 00:18:37 +02:00
Vadim Zeitlin 8532ed912b Explicitly create protocols output directly for CMake/make
Ninja is smart enough to create output directories on its own, but when
using make generator we need to do it ourselves.
2025-09-08 00:17:30 +02:00
Vadim Zeitlin fa4072e316 Generate Wayland protocol code using wayland-scanner at build time
Make sure that the generated code is compatible with the system we're
building on, which could not be the case before with pre-generated
files (that are now removed from the repository).

See #25721.

Closes #25768.
2025-09-08 00:02:28 +02:00
Vadim Zeitlin cd00085bce Add wxUSE_WAYLAND option allowing to disable Wayland support
Allow disabling Wayland support by passing --without-wayland option to
configure or -DwxUSE_WAYLAND=0 to CMake if it is undesirable for
whatever reason.
2025-09-07 23:17:39 +02:00
Chris Mayo 63e4e8e3ef CMake: Remove find_package(WebP) from webp.cmake
find_package(WebP) has already been called because options.cmake
uses wx_add_thirdparty_library().
2025-09-07 19:21:10 +01:00
Chris Mayo 4d369c8071 CMake: Use QUIET with find_package(PkgConfig) for libwebp 2025-09-07 19:02:29 +01:00
Vadim Zeitlin 77ec71a806 Merge branch 'wayland-warp-pointer'
Use Wayland protocol to warp pointer.

See #25721.

Closes #23778.
2025-09-06 20:41:46 +02:00