[wxwidgets] Update to 3.3.3 - #53318
Conversation
Refresh install-layout.patch and sdl2.patch against new line context, bump lexilla submodule to the sha paired with 3.3.3, and drop the two create_symlink-to-copy hunks from install-layout.patch in favor of the new upstream option wxBUILD_INSTALL_USE_SYMLINK=OFF. CONFIG_PATH moves to lib/cmake/wxWidgets-3.3 to match the versioned install layout. Signed-off-by: Emily Mabrey <emilymabrey93@gmail.com>
3.3.3 promoted the missing-libsecret condition to a hard configure error under wxUSE_SECRETSTORE=ON, where 3.3.1 silently disabled the feature. Add the dep behind the same platform gate the other Linux-only feature deps use. Signed-off-by: Emily Mabrey <emilymabrey93@gmail.com>
wx_get_dependencies leaks raw target names into wx-config's LIBS when an imported dep has no IMPORTED_LOCATION, which is what vcpkg's header-only NanoSVG looks like on Linux and macOS. Downstream projects then see -lNanoSVG::nanosvg and target_link_libraries chokes. Strip those post-install; vcpkg-cmake-wrapper.cmake re-adds the real targets for static builds. Upstream fix targeted for 3.3.4 (wxWidgets/wxWidgets#23373). Signed-off-by: Emily Mabrey <emilymabrey93@gmail.com>
FindLIBSECRET.cmake populates both LIBSECRET_LIBRARIES and
LIBSECRET_LIBRARY_DIRS via pkg_check_modules, but base/CMakeLists.txt
only consumed the former. When libsecret's transitive static deps
(gcrypt, gpg-error) live outside the default linker search path -- as
they do under vcpkg -- wxrc and any other downstream link fails with
"cannot find -lgcrypt". Add wx_lib_link_directories(wxbase PUBLIC
${LIBSECRET_LIBRARY_DIRS}) so the -L flows through.
Signed-off-by: Emily Mabrey <emilymabrey93@gmail.com>
|
CI turned up two failures the local x64-windows verification didn't catch. Three follow-ups: Depend on libsecret for secretstore on Linux. 3.3.3 promoted "libsecret missing" from a silent-disable to a hard configure error under wxUSE_SECRETSTORE=ON. Adds the dep behind the same platform gate the other Linux-only feature deps use. Strip target-name leaks from wx-config -- separate arm64_osx / x64_linux issue. wx_get_dependencies writes raw target names into wx-config's LIBS when an imported dep has no IMPORTED_LOCATION, which is what vcpkg's header-only NanoSVG looks like on Linux and macOS. Downstream then sees -lNanoSVG::nanosvg and target_link_libraries chokes. Stripped post-install; the port's vcpkg-cmake-wrapper.cmake already re-adds the real targets for static. Upstream fix targeted for 3.3.4 (wxWidgets/wxWidgets#23373). Add LIBSECRET_LIBRARY_DIRS to wxbase link deps, as once libsecret was installed, wxrc-3.3 failed to link with "cannot find -lgcrypt / -lgpg-error". FindLIBSECRET.cmake populates both LIBSECRET_LIBRARIES and LIBSECRET_LIBRARY_DIRS via pkg_check_modules, but base/CMakeLists.txt only consumed the former. Adds a wx_lib_link_directories on the -L dirs so libsecret's transitive static deps are actually findable at link time. |
Update wxwidgets from 3.3.1 to 3.3.3. Patches are refreshed against the new line context. Two hunks of install-layout.patch (
create_symlink->copyininstall.cmakeandutils/CMakeLists.txt) are dropped in favor of the new upstream optionwxBUILD_INSTALL_USE_SYMLINK=OFF, which the port now sets. Lexilla submodule is bumped to the sha paired with 3.3.3, andvcpkg_cmake_config_fixup(CONFIG_PATH ...)moves tolib/cmake/wxWidgets-3.3to match the versioned install layout wxWidgets 3.3 now emits.Verified locally with a full
vcpkg install wxwidgets:x64-windowsbuild (15 min, dbg + rel, post-build validation passed)../vcpkg x-add-version --alland committing the result.