From 3ff3b732c814abd90e40fdd95b907d183bed9ea5 Mon Sep 17 00:00:00 2001 From: Exzap <13877693+Exzap@users.noreply.github.com> Date: Tue, 28 Mar 2023 17:43:02 +0200 Subject: [PATCH] Upgrade vcpkg + submodule dependencies (#719) --- dependencies/Vulkan-Headers | 2 +- dependencies/cubeb | 2 +- dependencies/imgui | 2 +- dependencies/vcpkg | 2 +- .../fmt/fix-warning4189.patch | 12 - .../vcpkg_overlay_ports/fmt/portfile.cmake | 65 ----- dependencies/vcpkg_overlay_ports/fmt/usage | 7 - .../vcpkg_overlay_ports/fmt/vcpkg.json | 17 -- .../wxwidgets/example/CMakeLists.txt | 31 --- .../wxwidgets/fix-libs-export.patch | 21 -- .../wxwidgets/fix-pcre2.patch | 23 -- .../wxwidgets/gtk3-link-libraries.patch | 12 - .../wxwidgets/install-layout.patch | 52 ---- .../wxwidgets/nanosvg-ext-depend.patch | 42 ---- .../wxwidgets/portfile.cmake | 236 ------------------ .../wxwidgets/relocatable-wx-config.patch | 49 ---- .../vcpkg_overlay_ports/wxwidgets/setup.h.in | 5 - .../vcpkg_overlay_ports/wxwidgets/usage | 4 - .../wxwidgets/vcpkg-cmake-wrapper.cmake | 77 ------ .../vcpkg_overlay_ports/wxwidgets/vcpkg.json | 70 ------ .../Latte/Renderer/Vulkan/VulkanRenderer.cpp | 2 + vcpkg.json | 7 +- 22 files changed, 11 insertions(+), 729 deletions(-) delete mode 100644 dependencies/vcpkg_overlay_ports/fmt/fix-warning4189.patch delete mode 100644 dependencies/vcpkg_overlay_ports/fmt/portfile.cmake delete mode 100644 dependencies/vcpkg_overlay_ports/fmt/usage delete mode 100644 dependencies/vcpkg_overlay_ports/fmt/vcpkg.json delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/example/CMakeLists.txt delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/fix-libs-export.patch delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/fix-pcre2.patch delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/gtk3-link-libraries.patch delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/install-layout.patch delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/nanosvg-ext-depend.patch delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/portfile.cmake delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/relocatable-wx-config.patch delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/setup.h.in delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/usage delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/vcpkg-cmake-wrapper.cmake delete mode 100644 dependencies/vcpkg_overlay_ports/wxwidgets/vcpkg.json diff --git a/dependencies/Vulkan-Headers b/dependencies/Vulkan-Headers index 71567370..9b9fd871 160000 --- a/dependencies/Vulkan-Headers +++ b/dependencies/Vulkan-Headers @@ -1 +1 @@ -Subproject commit 715673702f5b18ffb8e5832e67cf731468d32ac6 +Subproject commit 9b9fd871b08110cd8f0b74e721b03213d9cc3081 diff --git a/dependencies/cubeb b/dependencies/cubeb index dc511c6b..2071354a 160000 --- a/dependencies/cubeb +++ b/dependencies/cubeb @@ -1 +1 @@ -Subproject commit dc511c6b3597b6384d28949285b9289e009830ea +Subproject commit 2071354a69aca7ed6df3b4222e305746c2113f60 diff --git a/dependencies/imgui b/dependencies/imgui index 8a44c31c..f65bcf48 160000 --- a/dependencies/imgui +++ b/dependencies/imgui @@ -1 +1 @@ -Subproject commit 8a44c31c95c8e0217f6e1fc814cbbbcca4981f14 +Subproject commit f65bcf481ab34cd07d3909aab1479f409fa79f2f diff --git a/dependencies/vcpkg b/dependencies/vcpkg index 1b0252ca..b81bc3a8 160000 --- a/dependencies/vcpkg +++ b/dependencies/vcpkg @@ -1 +1 @@ -Subproject commit 1b0252ca70ca2244a711535462c7f981eb439e83 +Subproject commit b81bc3a83fdbdffe80325eeabb2ec735a1f3c29d diff --git a/dependencies/vcpkg_overlay_ports/fmt/fix-warning4189.patch b/dependencies/vcpkg_overlay_ports/fmt/fix-warning4189.patch deleted file mode 100644 index 0efab0f1..00000000 --- a/dependencies/vcpkg_overlay_ports/fmt/fix-warning4189.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/include/fmt/format.h b/include/fmt/format.h -index 4e96539..0f1d179 100644 ---- a/include/fmt/format.h -+++ b/include/fmt/format.h -@@ -33,6 +33,7 @@ - #ifndef FMT_FORMAT_H_ - #define FMT_FORMAT_H_ - -+#pragma warning(disable:4189) - #include - #include - #include diff --git a/dependencies/vcpkg_overlay_ports/fmt/portfile.cmake b/dependencies/vcpkg_overlay_ports/fmt/portfile.cmake deleted file mode 100644 index e3edc0f6..00000000 --- a/dependencies/vcpkg_overlay_ports/fmt/portfile.cmake +++ /dev/null @@ -1,65 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO fmtlib/fmt - REF a33701196adfad74917046096bf5a2aa0ab0bb50 # v9.1.0 - SHA512 0faf00e99b332fcb3d9fc50cc9649ddc004ca9035f3652c1a001facee725dab09f67b65a9dfcce0aedb47e76c74c45a9262a1fd6e250a9e9a27c7d021c8ee6b8 - HEAD_REF master - # PATCHES fix-warning4189.patch -) - -vcpkg_cmake_configure( - SOURCE_PATH ${SOURCE_PATH} - DISABLE_PARALLEL_CONFIGURE # with MSBuild (on UWP), fmt writes into the source directory - OPTIONS - -DFMT_CMAKE_DIR=share/fmt - -DFMT_TEST=OFF - -DFMT_DOC=OFF -) - -vcpkg_cmake_install() -file(INSTALL ${SOURCE_PATH}/LICENSE.rst DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) -if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic) - if(VCPKG_TARGET_IS_WINDOWS) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/fmtd.dll") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/debug/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/fmtd.dll ${CURRENT_PACKAGES_DIR}/debug/bin/fmtd.dll) - endif() - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/fmt.dll") - file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/bin) - file(RENAME ${CURRENT_PACKAGES_DIR}/lib/fmt.dll ${CURRENT_PACKAGES_DIR}/bin/fmt.dll) - endif() - endif() - endif() - - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/include/fmt/core.h - "defined(FMT_SHARED)" - "1" - ) -endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include) - -vcpkg_cmake_config_fixup() -vcpkg_fixup_pkgconfig() - -if(VCPKG_TARGET_IS_WINDOWS) - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-debug.cmake - "lib/fmtd.dll" - "bin/fmtd.dll" - ) - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_replace_string(${CURRENT_PACKAGES_DIR}/share/fmt/fmt-targets-release.cmake - "lib/fmt.dll" - "bin/fmt.dll" - ) - endif() -endif() -file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share) - -# Handle post-build CMake instructions -vcpkg_copy_pdbs() -file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT}) diff --git a/dependencies/vcpkg_overlay_ports/fmt/usage b/dependencies/vcpkg_overlay_ports/fmt/usage deleted file mode 100644 index c9988aa7..00000000 --- a/dependencies/vcpkg_overlay_ports/fmt/usage +++ /dev/null @@ -1,7 +0,0 @@ -The package fmt provides CMake targets: - - find_package(fmt CONFIG REQUIRED) - target_link_libraries(main PRIVATE fmt::fmt) - - # Or use the header-only version - target_link_libraries(main PRIVATE fmt::fmt-header-only) diff --git a/dependencies/vcpkg_overlay_ports/fmt/vcpkg.json b/dependencies/vcpkg_overlay_ports/fmt/vcpkg.json deleted file mode 100644 index 880adf38..00000000 --- a/dependencies/vcpkg_overlay_ports/fmt/vcpkg.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "name": "fmt", - "version": "7.1.3", - "port-version": 2, - "description": "Formatting library for C++. It can be used as a safe alternative to printf or as a fast alternative to IOStreams.", - "homepage": "https://github.com/fmtlib/fmt", - "dependencies": [ - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - } - ] -} diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/example/CMakeLists.txt b/dependencies/vcpkg_overlay_ports/wxwidgets/example/CMakeLists.txt deleted file mode 100644 index 229b7107..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/example/CMakeLists.txt +++ /dev/null @@ -1,31 +0,0 @@ -cmake_minimum_required(VERSION 3.7) - -project(wxwidgets-example) - -add_executable(main WIN32 popup.cpp) - -find_package(wxWidgets REQUIRED) -target_compile_definitions(main PRIVATE ${wxWidgets_DEFINITIONS} "$<$:${wxWidgets_DEFINITIONS_DEBUG}>") -target_include_directories(main PRIVATE ${wxWidgets_INCLUDE_DIRS}) -target_link_libraries(main PRIVATE ${wxWidgets_LIBRARIES}) - -add_executable(main2 WIN32 popup.cpp) - -find_package(wxWidgets CONFIG REQUIRED) -target_link_libraries(main2 PRIVATE wx::core wx::base) - -option(USE_WXRC "Use the wxrc resource compiler" ON) -if(USE_WXRC) - execute_process( - COMMAND "${wxWidgets_wxrc_EXECUTABLE}" --help - RESULTS_VARIABLE error_result - ) - if(error_result) - message(FATAL_ERROR "Failed to run wxWidgets_wxrc_EXECUTABLE (${wxWidgets_wxrc_EXECUTABLE})") - endif() -endif() - -set(PRINT_VARS "" CACHE STRING "Variables to print at the end of configuration") -foreach(var IN LISTS PRINT_VARS) - message(STATUS "${var}:=${${var}}") -endforeach() diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/fix-libs-export.patch b/dependencies/vcpkg_overlay_ports/wxwidgets/fix-libs-export.patch deleted file mode 100644 index 064c3a7e..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/fix-libs-export.patch +++ /dev/null @@ -1,21 +0,0 @@ -diff --git a/build/cmake/config.cmake b/build/cmake/config.cmake -index 52ae69d3f6..f261d5d262 100644 ---- a/build/cmake/config.cmake -+++ b/build/cmake/config.cmake -@@ -39,8 +39,14 @@ macro(wx_get_dependencies var lib) - else() - # For the value like $<$:LIB_PATH> - # Or $<$>:LIB_PATH> -- string(REGEX REPLACE "^.+>:(.+)>$" "\\1" dep_name ${dep}) -- if (NOT dep_name) -+ if(dep MATCHES "^(.+>):(.+)>$") -+ if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND CMAKE_MATCH_1 STREQUAL [[$<$>]]) -+ continue() -+ elseif(CMAKE_BUILD_TYPE STREQUAL "Release" AND CMAKE_MATCH_1 STREQUAL [[$<$]]) -+ continue() -+ endif() -+ set(dep_name "${CMAKE_MATCH_2}") -+ else() - set(dep_name ${dep}) - endif() - endif() diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/fix-pcre2.patch b/dependencies/vcpkg_overlay_ports/wxwidgets/fix-pcre2.patch deleted file mode 100644 index 20063f44..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/fix-pcre2.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/build/cmake/modules/FindPCRE2.cmake b/build/cmake/modules/FindPCRE2.cmake -index a27693a..455675a 100644 ---- a/build/cmake/modules/FindPCRE2.cmake -+++ b/build/cmake/modules/FindPCRE2.cmake -@@ -24,7 +24,10 @@ set(PCRE2_CODE_UNIT_WIDTH_USED "${PCRE2_CODE_UNIT_WIDTH}" CACHE INTERNAL "") - - find_package(PkgConfig QUIET) - pkg_check_modules(PC_PCRE2 QUIET libpcre2-${PCRE2_CODE_UNIT_WIDTH}) -+set(PCRE2_LIBRARIES ${PC_PCRE2_LINK_LIBRARIES}) -+set(PCRE2_INCLUDE_DIRS ${PC_PCRE2_INCLUDE_DIRS}) - -+if (0) - find_path(PCRE2_INCLUDE_DIRS - NAMES pcre2.h - HINTS ${PC_PCRE2_INCLUDEDIR} -@@ -36,6 +39,7 @@ find_library(PCRE2_LIBRARIES - HINTS ${PC_PCRE2_LIBDIR} - ${PC_PCRE2_LIBRARY_DIRS} - ) -+endif() - - include(FindPackageHandleStandardArgs) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(PCRE2 REQUIRED_VARS PCRE2_LIBRARIES PCRE2_INCLUDE_DIRS VERSION_VAR PC_PCRE2_VERSION) diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/gtk3-link-libraries.patch b/dependencies/vcpkg_overlay_ports/wxwidgets/gtk3-link-libraries.patch deleted file mode 100644 index fe2736b2..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/gtk3-link-libraries.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff --git a/build/cmake/modules/FindGTK3.cmake b/build/cmake/modules/FindGTK3.cmake -index d2939a1..daf33fe 100644 ---- a/build/cmake/modules/FindGTK3.cmake -+++ b/build/cmake/modules/FindGTK3.cmake -@@ -47,6 +47,7 @@ include(CheckSymbolExists) - set(CMAKE_REQUIRED_INCLUDES ${GTK3_INCLUDE_DIRS}) - check_symbol_exists(GDK_WINDOWING_WAYLAND "gdk/gdk.h" wxHAVE_GDK_WAYLAND) - check_symbol_exists(GDK_WINDOWING_X11 "gdk/gdk.h" wxHAVE_GDK_X11) -+set(GTK3_LIBRARIES "${GTK3_LINK_LIBRARIES}" CACHE INTERNAL "") - include(FindPackageHandleStandardArgs) - FIND_PACKAGE_HANDLE_STANDARD_ARGS(GTK3 DEFAULT_MSG GTK3_INCLUDE_DIRS GTK3_LIBRARIES VERSION_OK) - diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/install-layout.patch b/dependencies/vcpkg_overlay_ports/wxwidgets/install-layout.patch deleted file mode 100644 index e55381d3..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/install-layout.patch +++ /dev/null @@ -1,52 +0,0 @@ -diff --git a/build/cmake/functions.cmake b/build/cmake/functions.cmake -index 32bd959..74f31ed 100644 ---- a/build/cmake/functions.cmake -+++ b/build/cmake/functions.cmake -@@ -418,7 +418,7 @@ macro(wx_add_library name) - set_target_properties(${name} PROPERTIES PROJECT_LABEL ${name_short}) - - # Setup install -- set(runtime_dir "lib") -+ set(runtime_dir "bin") - if(WIN32 AND NOT WIN32_MSVC_NAMING) - # configure puts the .dll in the bin directory - set(runtime_dir "bin") -diff --git a/build/cmake/init.cmake b/build/cmake/init.cmake -index 3ff14ab..7bd00d3 100644 ---- a/build/cmake/init.cmake -+++ b/build/cmake/init.cmake -@@ -146,7 +146,7 @@ if(WIN32) - endif() - endif() - --if(WIN32_MSVC_NAMING) -+if(0) - if(wxBUILD_SHARED) - set(lib_suffix "_dll") - else() -diff --git a/build/cmake/install.cmake b/build/cmake/install.cmake -index 84cb9f5..e2f460a 100644 ---- a/build/cmake/install.cmake -+++ b/build/cmake/install.cmake -@@ -48,7 +48,7 @@ else() - - install(DIRECTORY DESTINATION "bin") - install(CODE "execute_process( \ -- COMMAND ${CMAKE_COMMAND} -E create_symlink \ -+ COMMAND ${CMAKE_COMMAND} -E copy \ - ${CMAKE_INSTALL_PREFIX}/lib/wx/config/${wxBUILD_FILE_ID} \ - ${CMAKE_INSTALL_PREFIX}/bin/wx-config \ - )" -diff --git a/build/cmake/utils/CMakeLists.txt b/build/cmake/utils/CMakeLists.txt -index d6b3465..870897b 100644 ---- a/build/cmake/utils/CMakeLists.txt -+++ b/build/cmake/utils/CMakeLists.txt -@@ -38,7 +38,7 @@ if(wxUSE_XRC) - endif() - - wx_install(CODE "execute_process( \ -- COMMAND ${CMAKE_COMMAND} -E create_symlink \ -+ COMMAND ${CMAKE_COMMAND} -E copy \ - ${CMAKE_INSTALL_PREFIX}/bin/${wxrc_output_name}${EXE_SUFFIX} \ - ${CMAKE_INSTALL_PREFIX}/bin/wxrc${EXE_SUFFIX} \ - )" diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/nanosvg-ext-depend.patch b/dependencies/vcpkg_overlay_ports/wxwidgets/nanosvg-ext-depend.patch deleted file mode 100644 index 029b8c70..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/nanosvg-ext-depend.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/build/cmake/lib/nanosvg.cmake b/build/cmake/lib/nanosvg.cmake -index 401bf48..b9e4b57 100644 ---- a/build/cmake/lib/nanosvg.cmake -+++ b/build/cmake/lib/nanosvg.cmake -@@ -16,9 +16,9 @@ elseif(wxUSE_NANOSVG) - set(NANOSVG_INCLUDE_DIRS ) - set(wxUSE_NANOSVG_EXTERNAL_ENABLE_IMPL TRUE) - -- find_package(NanoSVG REQUIRED) -+ find_package(unofficial-nanosvg CONFIG REQUIRED) - -- foreach(TARGETNAME NanoSVG::nanosvg NanoSVG::nanosvgrast unofficial::nanosvg) -+ foreach(TARGETNAME unofficial::nanosvg::nanosvg) - if(NOT TARGET ${TARGETNAME}) - continue() - endif() -diff --git a/build/cmake/options.cmake b/build/cmake/options.cmake -index 49c536a..5630526 100644 ---- a/build/cmake/options.cmake -+++ b/build/cmake/options.cmake -@@ -114,7 +114,7 @@ wx_add_thirdparty_library(wxUSE_EXPAT EXPAT "use expat for XML parsing" DEFAULT_ - wx_add_thirdparty_library(wxUSE_LIBJPEG JPEG "use libjpeg (JPEG file format)") - wx_add_thirdparty_library(wxUSE_LIBPNG PNG "use libpng (PNG image format)") - wx_add_thirdparty_library(wxUSE_LIBTIFF TIFF "use libtiff (TIFF file format)") --wx_add_thirdparty_library(wxUSE_NANOSVG NanoSVG "use NanoSVG for rasterizing SVG") -+wx_add_thirdparty_library(wxUSE_NANOSVG unofficial-nanosvg "use NanoSVG for rasterizing SVG") - - wx_option(wxUSE_LIBLZMA "use LZMA compression" OFF) - set(wxTHIRD_PARTY_LIBRARIES ${wxTHIRD_PARTY_LIBRARIES} wxUSE_LIBLZMA "use liblzma for LZMA compression") -diff --git a/build/cmake/wxWidgetsConfig.cmake.in b/build/cmake/wxWidgetsConfig.cmake.in -index 6ef5a6e..248a701 100644 ---- a/build/cmake/wxWidgetsConfig.cmake.in -+++ b/build/cmake/wxWidgetsConfig.cmake.in -@@ -1,5 +1,8 @@ - @PACKAGE_INIT@ - -+include(CMakeFindDependencyMacro) -+find_dependency(unofficial-nanosvg CONFIG) -+ - # determine target from compiler, platform and library type - if(WIN32 AND NOT CYGWIN AND NOT MSYS) - if(${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC) diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/portfile.cmake b/dependencies/vcpkg_overlay_ports/wxwidgets/portfile.cmake deleted file mode 100644 index 984fc083..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/portfile.cmake +++ /dev/null @@ -1,236 +0,0 @@ -vcpkg_from_github( - OUT_SOURCE_PATH SOURCE_PATH - REPO wxWidgets/wxWidgets - REF v3.2.0 - SHA512 0bb40ccab51f5e83a38feeaf462c9d1852f821d19592328327f829890d89a3abb2a991c43cdbac55da8f5ee40aab8bd5fea6abcd052198302770292f92f9f9ad - HEAD_REF master - PATCHES - install-layout.patch - relocatable-wx-config.patch - fix-libs-export.patch - fix-pcre2.patch - gtk3-link-libraries.patch -) - -if(VCPKG_TARGET_IS_LINUX) - message(WARNING [[ -Port wxwidgets currently requires the following packages from the system package manager: - pkg-config - GTK 3 - libsecret - libgcrypt - libsystemd -These development packages can be installed on Ubuntu systems via - sudo apt-get install pkg-config libgtk-3-dev libsecret-1-dev libgcrypt20-dev libsystemd-dev -]]) - foreach(conflicting_port IN ITEMS freetype glib) - if(EXISTS "${CURRENT_INSTALLED_DIR}/share/${conflicting_port}/copyright") - message(FATAL_ERROR "Port ${conflicting_port} must not be installed when building ${PORT}:${TARGET_TRIPLET}.") - endif() - endforeach() -endif() - -vcpkg_check_features( - OUT_FEATURE_OPTIONS FEATURE_OPTIONS - FEATURES - sound wxUSE_SOUND - fonts wxUSE_PRIVATE_FONTS -) - -set(OPTIONS_RELEASE "") -if(NOT "debug-support" IN_LIST FEATURES) - list(APPEND OPTIONS_RELEASE "-DwxBUILD_DEBUG_LEVEL=0") -endif() - -set(OPTIONS "") -if(VCPKG_TARGET_IS_WINDOWS AND (VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64" OR VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")) - list(APPEND OPTIONS - -DwxUSE_OPENGL=OFF - -DwxUSE_STACKWALKER=OFF - ) -endif() - -if(VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_OSX) - list(APPEND OPTIONS -DwxUSE_WEBREQUEST_CURL=OFF) -else() - list(APPEND OPTIONS -DwxUSE_WEBREQUEST_CURL=ON) -endif() - -if(DEFINED ENV{PKG_CONFIG}) - set(PKGCONFIG "$ENV{PKG_CONFIG}") -elseif(VCPKG_TARGET_IS_LINUX AND NOT VCPKG_CROSSCOMPILING) - # wxWidgets on Linux currently needs to find the system's `gtk+-3.0.pc`. - # vcpkg's port pkgconf would prevent this lookup. - find_program(system_pkg_config NAMES pkg-config) - if(system_pkg_config) - set(PKGCONFIG "${system_pkg_config}") - endif() - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - list(APPEND OPTIONS -DPKG_CONFIG_ARGN=--static) - endif() -endif() -vcpkg_find_acquire_program(PKGCONFIG) - -# This may be set to ON by users in a custom triplet. -# The use of 'wxUSE_STL' and 'WXWIDGETS_USE_STD_CONTAINERS' (ON or OFF) are not API compatible -# which is why they must be set in a custom triplet rather than a port feature. -if(NOT DEFINED WXWIDGETS_USE_STL) - #set(WXWIDGETS_USE_STL OFF) -endif() - -if(NOT DEFINED WXWIDGETS_USE_STD_CONTAINERS) - set(WXWIDGETS_USE_STD_CONTAINERS OFF) -endif() - -vcpkg_cmake_configure( - SOURCE_PATH "${SOURCE_PATH}" - OPTIONS - ${FEATURE_OPTIONS} - -DwxUSE_REGEX=sys - -DwxUSE_ZLIB=sys - -DwxUSE_EXPAT=sys - -DwxUSE_LIBJPEG=sys - -DwxUSE_LIBPNG=sys - -DwxUSE_LIBTIFF=sys - -DwxUSE_SECRETSTORE=FALSE - -DwxUSE_STL=ON - -DwxUSE_STD_CONTAINERS=${WXWIDGETS_USE_STD_CONTAINERS} - -DwxBUILD_DISABLE_PLATFORM_LIB_DIR=ON - -DwxUSE_LIBLZMA=OFF - -DwxUSE_JOYSTICK=OFF - -DwxUSE_SOCKETS=OFF - -DwxUSE_IPV6=OFF - -DwxUSE_FS_ZIP=OFF - -DwxUSE_FS_ARCHIVE=OFF - -DwxUSE_FS_INET=OFF - -DwxUSE_ARCHIVE_STREAMS=OFF - -DwxUSE_ZIPSTREAM=OFF - -DwxUSE_TARSTREAM=OFF - -DwxUSE_PROTOCOL=OFF - -DwxUSE_PROTOCOL_FTP=OFF - -DwxUSE_PROTOCOL_HTTP=OFF - -DwxUSE_URL=OFF - -DwxUSE_SOUND=OFF - -DwxUSE_WEBVIEW=OFF - -DwxUSE_RICHTEXT=OFF - -DwxUSE_SVG=OFF - -DwxUSE_GIF=OFF - -DwxUSE_PNM=OFF - -DwxUSE_PCX=OFF - -DwxUSE_WEBREQUEST=OFF - -DwxUSE_ACTIVEX=OFF - -DwxUSE_REGEX=OFF - -DwxUSE_NANOSVG=OFF - -DwxUSE_NANOSVG_EXTERNAL=OFF - ${OPTIONS} - "-DPKG_CONFIG_EXECUTABLE=${PKGCONFIG}" - # The minimum cmake version requirement for Cotire is 2.8.12. - # however, we need to declare that the minimum cmake version requirement is at least 3.1 to use CMAKE_PREFIX_PATH as the path to find .pc. - -DPKG_CONFIG_USE_CMAKE_PREFIX_PATH=ON - OPTIONS_RELEASE - ${OPTIONS_RELEASE} -) - -vcpkg_cmake_install() -vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/wxWidgets) - -# The CMake export is not ready for use: It lacks a config file. -file(REMOVE_RECURSE - ${CURRENT_PACKAGES_DIR}/lib/cmake - ${CURRENT_PACKAGES_DIR}/debug/lib/cmake -) - -set(tools wxrc) -if(NOT VCPKG_TARGET_IS_WINDOWS OR NOT VCPKG_HOST_IS_WINDOWS) - list(APPEND tools wxrc-3.2) - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}") - file(RENAME "${CURRENT_PACKAGES_DIR}/bin/wx-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/wx-config") - if(NOT VCPKG_BUILD_TYPE) - file(MAKE_DIRECTORY "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug") - file(RENAME "${CURRENT_PACKAGES_DIR}/debug/bin/wx-config" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/wx-config") - endif() -endif() -vcpkg_copy_tools(TOOL_NAMES ${tools} AUTO_CLEAN) - -# do the copy pdbs now after the dlls got moved to the expected /bin folder above -vcpkg_copy_pdbs() - -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/include/msvc") -file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") -file(GLOB_RECURSE INCLUDES "${CURRENT_PACKAGES_DIR}/include/*.h") -if(EXISTS "${CURRENT_PACKAGES_DIR}/lib/mswu/wx/setup.h") - list(APPEND INCLUDES "${CURRENT_PACKAGES_DIR}/lib/mswu/wx/setup.h") -endif() -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/mswud/wx/setup.h") - list(APPEND INCLUDES "${CURRENT_PACKAGES_DIR}/debug/lib/mswud/wx/setup.h") -endif() -foreach(INC IN LISTS INCLUDES) - file(READ "${INC}" _contents) - if(VCPKG_LIBRARY_LINKAGE STREQUAL "static") - string(REPLACE "defined(WXUSINGDLL)" "0" _contents "${_contents}") - else() - string(REPLACE "defined(WXUSINGDLL)" "1" _contents "${_contents}") - endif() - # Remove install prefix from setup.h to ensure package is relocatable - string(REGEX REPLACE "\n#define wxINSTALL_PREFIX [^\n]*" "\n#define wxINSTALL_PREFIX \"\"" _contents "${_contents}") - file(WRITE "${INC}" "${_contents}") -endforeach() - -if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/include/wx/setup.h") - file(GLOB_RECURSE WX_SETUP_H_FILES_DBG "${CURRENT_PACKAGES_DIR}/debug/lib/*.h") - file(GLOB_RECURSE WX_SETUP_H_FILES_REL "${CURRENT_PACKAGES_DIR}/lib/*.h") - - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release") - vcpkg_replace_string("${WX_SETUP_H_FILES_REL}" "${CURRENT_PACKAGES_DIR}" "") - - string(REPLACE "${CURRENT_PACKAGES_DIR}/lib/" "" WX_SETUP_H_FILES_REL "${WX_SETUP_H_FILES_REL}") - string(REPLACE "/setup.h" "" WX_SETUP_H_REL_RELATIVE "${WX_SETUP_H_FILES_REL}") - endif() - if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug") - vcpkg_replace_string("${WX_SETUP_H_FILES_DBG}" "${CURRENT_PACKAGES_DIR}" "") - - string(REPLACE "${CURRENT_PACKAGES_DIR}/debug/lib/" "" WX_SETUP_H_FILES_DBG "${WX_SETUP_H_FILES_DBG}") - string(REPLACE "/setup.h" "" WX_SETUP_H_DBG_RELATIVE "${WX_SETUP_H_FILES_DBG}") - endif() - - configure_file("${CMAKE_CURRENT_LIST_DIR}/setup.h.in" "${CURRENT_PACKAGES_DIR}/include/wx/setup.h" @ONLY) -endif() - -file(GLOB configs LIST_DIRECTORIES false "${CURRENT_PACKAGES_DIR}/lib/wx/config/*" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/wx-config") -foreach(config IN LISTS configs) - vcpkg_replace_string("${config}" "${CURRENT_INSTALLED_DIR}" [[${prefix}]]) -endforeach() -file(GLOB configs LIST_DIRECTORIES false "${CURRENT_PACKAGES_DIR}/debug/lib/wx/config/*" "${CURRENT_PACKAGES_DIR}/tools/${PORT}/debug/wx-config") -foreach(config IN LISTS configs) - vcpkg_replace_string("${config}" "${CURRENT_INSTALLED_DIR}/debug" [[${prefix}]]) -endforeach() - -# For CMake multi-config in connection with wrapper -if(EXISTS "${CURRENT_PACKAGES_DIR}/debug/lib/mswud/wx/setup.h") - file(INSTALL "${CURRENT_PACKAGES_DIR}/debug/lib/mswud/wx/setup.h" - DESTINATION "${CURRENT_PACKAGES_DIR}/lib/mswud/wx" - ) -endif() - -if(NOT "debug-support" IN_LIST FEATURES) - if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_HOST_IS_WINDOWS) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/wx/debug.h" "#define wxDEBUG_LEVEL 1" "#define wxDEBUG_LEVEL 0") - else() - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/wx-3.2/wx/debug.h" "#define wxDEBUG_LEVEL 1" "#define wxDEBUG_LEVEL 0") - endif() -endif() - -if("example" IN_LIST FEATURES) - file(INSTALL - "${CMAKE_CURRENT_LIST_DIR}/example/CMakeLists.txt" - "${SOURCE_PATH}/samples/popup/popup.cpp" - "${SOURCE_PATH}/samples/sample.xpm" - DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}/example" - ) - vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/${PORT}/example/popup.cpp" "../sample.xpm" "sample.xpm") -endif() - -configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) - -file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -file(INSTALL "${SOURCE_PATH}/docs/licence.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/relocatable-wx-config.patch b/dependencies/vcpkg_overlay_ports/wxwidgets/relocatable-wx-config.patch deleted file mode 100644 index 8a5e7c4d..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/relocatable-wx-config.patch +++ /dev/null @@ -1,49 +0,0 @@ -diff --git a/wx-config.in b/wx-config.in -index 441f88c..b326867 100755 ---- a/wx-config.in -+++ b/wx-config.in -@@ -91,7 +91,7 @@ EOF - - - # Contentious tools determined by configure. --EGREP="@EGREP@" -+EGREP="grep -E" # no absolute path from host - - - # For the people who know what they want, or think they do: -@@ -402,8 +402,23 @@ is_cross() { [ "x@cross_compiling@" = "xyes" ]; } - - - # Determine the base directories we require. --prefix=${input_option_prefix-${this_prefix:-@prefix@}} --exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-@exec_prefix@}}} -+vcpkg_prefix=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd -P) -+case "$vcpkg_prefix" in -+ */lib/wx/config) -+ vcpkg_prefix=${vcpkg_prefix%/*/*/*} -+ ;; -+ */tools/wxwidgets/debug) -+ vcpkg_prefix=${vcpkg_prefix%/*/*/*}/debug -+ ;; -+ */tools/wxwidgets) -+ vcpkg_prefix=${vcpkg_prefix%/*/*} -+ ;; -+esac -+if [ -n "@MINGW@" -a -n "@CMAKE_HOST_WIN32@" ]; then -+ vcpkg_prefix=$(cygpath -m "$vcpkg_prefix") -+fi -+prefix=${input_option_prefix-${this_prefix:-$vcpkg_prefix}} -+exec_prefix=${input_option_exec_prefix-${input_option_prefix-${this_exec_prefix:-$prefix}}} - wxconfdir="@libdir@/wx/config" - - installed_configs=`cd "$wxconfdir" 2> /dev/null && ls | grep -v "^inplace-"` -@@ -940,6 +949,9 @@ prefix=${this_prefix-$prefix} - exec_prefix=${this_exec_prefix-$exec_prefix} - - includedir="@includedir@" -+if [ "@CMAKE_BUILD_TYPE@" = "Debug" ] ; then -+ includedir="${includedir%/debug/include}/include" -+fi - libdir="@libdir@" - bindir="@bindir@" - diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/setup.h.in b/dependencies/vcpkg_overlay_ports/wxwidgets/setup.h.in deleted file mode 100644 index b927735b..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/setup.h.in +++ /dev/null @@ -1,5 +0,0 @@ -#ifdef _DEBUG -#include "../../debug/lib/@WX_SETUP_H_DBG_RELATIVE@/setup.h" -#else -#include "../../lib/@WX_SETUP_H_REL_RELATIVE@/setup.h" -#endif diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/usage b/dependencies/vcpkg_overlay_ports/wxwidgets/usage deleted file mode 100644 index bf1043e8..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/usage +++ /dev/null @@ -1,4 +0,0 @@ -The package wxwidgets provides CMake targets: - - find_package(wxWidgets CONFIG REQUIRED) - target_link_libraries(main PRIVATE wx::core wx::base) diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/vcpkg-cmake-wrapper.cmake b/dependencies/vcpkg_overlay_ports/wxwidgets/vcpkg-cmake-wrapper.cmake deleted file mode 100644 index b605525a..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/vcpkg-cmake-wrapper.cmake +++ /dev/null @@ -1,77 +0,0 @@ -cmake_policy(PUSH) -cmake_policy(SET CMP0012 NEW) -cmake_policy(SET CMP0054 NEW) - -get_filename_component(_vcpkg_wx_root "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE) -set(wxWidgets_ROOT_DIR "${_vcpkg_wx_root}" CACHE INTERNAL "") -set(WX_ROOT_DIR "${_vcpkg_wx_root}" CACHE INTERNAL "") -unset(_vcpkg_wx_root) - -if(WIN32 AND CMAKE_HOST_WIN32) - # Find all libs with "32" infix which is unknown to FindwxWidgets.cmake - function(z_vcpkg_wxwidgets_find_base_library BASENAME) - find_library(WX_${BASENAME}d wx${BASENAME}32ud NAMES wx${BASENAME}d PATHS "${wxWidgets_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) - find_library(WX_${BASENAME} wx${BASENAME}32u NAMES wx${BASENAME} PATHS "${wxWidgets_ROOT_DIR}/lib" NO_DEFAULT_PATH REQUIRED) - endfunction() - function(z_vcpkg_wxwidgets_find_suffix_library BASENAME) - foreach(lib IN LISTS ARGN) - find_library(WX_${lib}d NAMES wx${BASENAME}32ud_${lib} PATHS "${wxWidgets_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) - find_library(WX_${lib} NAMES wx${BASENAME}32u_${lib} PATHS "${wxWidgets_ROOT_DIR}/lib" NO_DEFAULT_PATH) - endforeach() - endfunction() - z_vcpkg_wxwidgets_find_base_library(base) - z_vcpkg_wxwidgets_find_suffix_library(base net odbc xml) - z_vcpkg_wxwidgets_find_suffix_library(msw core adv aui html media xrc dbgrid gl qa richtext stc ribbon propgrid webview) - if(WX_stc AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") - z_vcpkg_wxwidgets_find_base_library(scintilla) - endif() - # Force FindwxWidgets.cmake win32 mode for all windows targets built on windows - set(_vcpkg_wxwidgets_backup_crosscompiling "${CMAKE_CROSSCOMPILING}") - set(CMAKE_CROSSCOMPILING 0) - set(wxWidgets_LIB_DIR "${wxWidgets_ROOT_DIR}/lib" CACHE INTERNAL "") -else() - # FindwxWidgets.cmake unix mode, single-config - if(MINGW) - # Force FindwxWidgets.cmake unix mode for mingw cross builds - set(_vcpkg_wxwidgets_backup_crosscompiling "${CMAKE_CROSSCOMPILING}") - set(CMAKE_CROSSCOMPILING 1) - endif() - set(_vcpkg_wxconfig "") - if(CMAKE_BUILD_TYPE STREQUAL "Debug" OR "Debug" IN_LIST MAP_IMPORTED_CONFIG_${CMAKE_BUILD_TYPE}) - # Debug - set(wxWidgets_LIB_DIR "${wxWidgets_ROOT_DIR}/debug/lib" CACHE INTERNAL "") - file(GLOB _vcpkg_wxconfig LIST_DIRECTORIES false "${wxWidgets_LIB_DIR}/wx/config/*") - endif() - if(NOT _vcpkg_wxconfig) - # Release or fallback - set(wxWidgets_LIB_DIR "${wxWidgets_ROOT_DIR}/lib" CACHE INTERNAL "") - file(GLOB _vcpkg_wxconfig LIST_DIRECTORIES false "${wxWidgets_LIB_DIR}/wx/config/*") - endif() - set(wxWidgets_CONFIG_EXECUTABLE "${_vcpkg_wxconfig}" CACHE INTERNAL "") - unset(_vcpkg_wxconfig) -endif() -set(WX_LIB_DIR "${wxWidgets_LIB_DIR}" CACHE INTERNAL "") - -_find_package(${ARGS}) - -if(DEFINED _vcpkg_wxwidgets_backup_crosscompiling) - set(CMAKE_CROSSCOMPILING "${_vcpkg_wxwidgets_backup_crosscompiling}") - unset(_vcpkg_wxwidgets_backup_crosscompiling) -endif() - -if(WIN32 AND CMAKE_HOST_WIN32 AND "@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT "wx::core" IN_LIST wxWidgets_LIBRARIES) - find_package(EXPAT QUIET) - find_package(JPEG QUIET) - find_package(PNG QUIET) - find_package(TIFF QUIET) - find_package(ZLIB QUIET) - list(APPEND wxWidgets_LIBRARIES - ${EXPAT_LIBRARIES} - ${JPEG_LIBRARIES} - ${PNG_LIBRARIES} - ${TIFF_LIBRARIES} - ${ZLIB_LIBRARIES} - ) -endif() - -cmake_policy(POP) diff --git a/dependencies/vcpkg_overlay_ports/wxwidgets/vcpkg.json b/dependencies/vcpkg_overlay_ports/wxwidgets/vcpkg.json deleted file mode 100644 index 95b2eea5..00000000 --- a/dependencies/vcpkg_overlay_ports/wxwidgets/vcpkg.json +++ /dev/null @@ -1,70 +0,0 @@ -{ - "name": "wxwidgets", - "version": "3.2.0", - "port-version": 1, - "description": [ - "Widget toolkit and tools library for creating graphical user interfaces (GUIs) for cross-platform applications. ", - "Set WXWIDGETS_USE_STL in a custom triplet to build with the wxUSE_STL build option.", - "Set WXWIDGETS_USE_STD_CONTAINERS in a custom triplet to build with the wxUSE_STD_CONTAINERS build option." - ], - "homepage": "https://github.com/wxWidgets/wxWidgets", - "license": "LGPL-2.0-or-later WITH WxWindows-exception-3.1", - "supports": "!uwp", - "dependencies": [ - { - "name": "curl", - "default-features": false, - "platform": "!windows & !osx" - }, - "expat", - { - "name": "libpng", - "platform": "!linux" - }, - "tiff", - { - "name": "vcpkg-cmake", - "host": true - }, - { - "name": "vcpkg-cmake-config", - "host": true - }, - "zlib" - ], - "default-features": [ - "debug-support", - "sound" - ], - "features": { - "debug-support": { - "description": "Enable wxWidgets debugging support hooks even for release builds (wxDEBUG_LEVEL 1)" - }, - "example": { - "description": "Example source code and CMake project" - }, - "fonts": { - "description": "Enable to use the font functionality of wxWidgets", - "dependencies": [ - { - "name": "fontconfig", - "platform": "!windows & !osx" - }, - { - "name": "pango", - "platform": "!windows & !osx" - } - ] - }, - "sound": { - "description": "Build wxSound support", - "dependencies": [ - { - "name": "sdl2", - "default-features": false, - "platform": "!windows & !osx" - } - ] - } - } -} diff --git a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp index d2854e04..a3a88017 100644 --- a/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp +++ b/src/Cafe/HW/Latte/Renderer/Vulkan/VulkanRenderer.cpp @@ -30,8 +30,10 @@ #include +#ifndef VK_API_VERSION_MAJOR #define VK_API_VERSION_MAJOR(version) (((uint32_t)(version) >> 22) & 0x7FU) #define VK_API_VERSION_MINOR(version) (((uint32_t)(version) >> 12) & 0x3FFU) +#endif extern std::atomic_int g_compiling_pipelines; diff --git a/vcpkg.json b/vcpkg.json index e85a4311..792198ce 100644 --- a/vcpkg.json +++ b/vcpkg.json @@ -1,7 +1,7 @@ { "name": "cemu", "version-string": "1.0", - "builtin-baseline": "1b0252ca70ca2244a711535462c7f981eb439e83", + "builtin-baseline": "b81bc3a83fdbdffe80325eeabb2ec735a1f3c29d", "dependencies": [ "pugixml", "zlib", @@ -33,7 +33,10 @@ "boost-random", "fmt", "glm", - "glslang", + { + "name": "glslang", + "default-features": false + }, "zstd", { "name": "wxwidgets",