From 888c2901d85dee258b20305e2b27dee6145538af Mon Sep 17 00:00:00 2001 From: jjYBdx4IL Date: Mon, 4 Apr 2022 12:04:37 +0200 Subject: [PATCH 1/7] * fix wxWidgets_LIBRARIES for windows static builds (add missing comctl32 etc.) * add wxbase to list of debug libs --- ports/wxwidgets/portfile.cmake | 21 +++++++++++++++++++++ ports/wxwidgets/vcpkg-cmake-wrapper.cmake | 7 ++++--- ports/wxwidgets/vcpkg.json | 2 +- versions/baseline.json | 2 +- versions/w-/wxwidgets.json | 5 +++++ 5 files changed, 32 insertions(+), 5 deletions(-) mode change 100644 => 100755 versions/baseline.json mode change 100644 => 100755 versions/w-/wxwidgets.json diff --git a/ports/wxwidgets/portfile.cmake b/ports/wxwidgets/portfile.cmake index 441943a4a18f41..19b02c709b9a95 100644 --- a/ports/wxwidgets/portfile.cmake +++ b/ports/wxwidgets/portfile.cmake @@ -128,7 +128,28 @@ if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/include/wx/setup.h") configure_file("${CMAKE_CURRENT_LIST_DIR}/setup.h.in" "${CURRENT_PACKAGES_DIR}/include/wx/setup.h" @ONLY) endif() +set(CM_WRAPPER "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake") file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +# append a fixed set of properly categorized libs to the cmake config +file(GLOB WX_DEBUG_LIBS "${CURRENT_PACKAGES_DIR}/debug/lib/wx*31*") +file(GLOB WX_OPT_LIBS "${CURRENT_PACKAGES_DIR}/lib/wx*31*") +set(wxWidgets_LIBRARIES) +foreach(WX_DEBUG_LIB ${WX_DEBUG_LIBS}) + get_filename_component(LIBNAME ${WX_DEBUG_LIB} NAME_WLE) + list(APPEND wxWidgets_LIBRARIES "debug") + list(APPEND wxWidgets_LIBRARIES ${LIBNAME}) +endforeach() +foreach(WX_OPT_LIB ${WX_OPT_LIBS}) + get_filename_component(LIBNAME ${WX_OPT_LIB} NAME_WLE) + list(APPEND wxWidgets_LIBRARIES "optimized") + list(APPEND wxWidgets_LIBRARIES ${LIBNAME}) +endforeach() +file(APPEND "${CM_WRAPPER}" "\n set(wxWidgets_LIBRARIES \"${wxWidgets_LIBRARIES};\${wxWidgets_LIBRARIES}\")\n") +if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") + file(APPEND "${CM_WRAPPER}" " set(wxWidgets_LIBRARIES \"\${wxWidgets_LIBRARIES};comctl32;rpcrt4\")\n") +endif() +file(APPEND "${CM_WRAPPER}" "endif()\n") + configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) file(INSTALL "${SOURCE_PATH}/docs/licence.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/ports/wxwidgets/vcpkg-cmake-wrapper.cmake b/ports/wxwidgets/vcpkg-cmake-wrapper.cmake index 55557b36097a05..b49f0e2ff126ec 100644 --- a/ports/wxwidgets/vcpkg-cmake-wrapper.cmake +++ b/ports/wxwidgets/vcpkg-cmake-wrapper.cmake @@ -3,18 +3,20 @@ set(WX_ROOT_DIR "${wxWidgets_ROOT_DIR}") set(wxWidgets_LIB_DIR "${wxWidgets_ROOT_DIR}/lib" CACHE INTERNAL "" FORCE) set(WX_LIB_DIR "${wxWidgets_LIB_DIR}") find_library(WX_based NAMES wxbase31ud PATHS "${wxWidgets_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) -file(GLOB WX_DEBUG_LIBS "${wxWidgets_ROOT_DIR}/debug/lib/wx*d_*.lib") +file(GLOB WX_DEBUG_LIBS "${wxWidgets_ROOT_DIR}/debug/lib/wx*.lib") foreach(WX_DEBUG_LIB ${WX_DEBUG_LIBS}) string(REGEX REPLACE ".*wx([^/]*)d_([^/\\.]*)\\.[^/\\.]*\$" "WX_\\2d" varname "${WX_DEBUG_LIB}") set(${varname} "${WX_DEBUG_LIB}" CACHE INTERNAL "" FORCE) endforeach() _find_package(${ARGS}) + find_package(ZLIB QUIET) find_package(libpng CONFIG QUIET) find_package(TIFF QUIET) find_package(expat CONFIG QUIET) -if(wxWidgets_LIBRARIES AND NOT wxWidgets_LIBRARIES MATCHES "TIFF::TIFF;png;expat::expat;ZLIB::ZLIB") +if(wxWidgets_LIBRARIES AND NOT wxWidgets_LIBRARIES MATCHES "^debug;") + set(wxWidgets_LIBRARIES) list(APPEND wxWidgets_LIBRARIES "TIFF::TIFF;expat::expat;ZLIB::ZLIB") if (TARGET png) @@ -22,4 +24,3 @@ if(wxWidgets_LIBRARIES AND NOT wxWidgets_LIBRARIES MATCHES "TIFF::TIFF;png;expat elseif(TARGET png_static) list(APPEND wxWidgets_LIBRARIES "png_static") endif() -endif() diff --git a/ports/wxwidgets/vcpkg.json b/ports/wxwidgets/vcpkg.json index 9a4cdf2a8fb8a1..337d37cdd201be 100644 --- a/ports/wxwidgets/vcpkg.json +++ b/ports/wxwidgets/vcpkg.json @@ -1,7 +1,7 @@ { "name": "wxwidgets", "version-semver": "3.1.5", - "port-version": 8, + "port-version": 9, "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.", diff --git a/versions/baseline.json b/versions/baseline.json old mode 100644 new mode 100755 index 9b5c1056e7a70b..e2e3640796d89f --- a/versions/baseline.json +++ b/versions/baseline.json @@ -7470,7 +7470,7 @@ }, "wxwidgets": { "baseline": "3.1.5", - "port-version": 8 + "port-version": 9 }, "x-plane": { "baseline": "3.0.3", diff --git a/versions/w-/wxwidgets.json b/versions/w-/wxwidgets.json old mode 100644 new mode 100755 index ec844293847ab8..02b4cbeb75f381 --- a/versions/w-/wxwidgets.json +++ b/versions/w-/wxwidgets.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "9ba4dfdfddf6003141be3f26f773c7fd0613f723", + "version-semver": "3.1.5", + "port-version": 9 + }, { "git-tree": "dba058c37782edf771e7a62ae1bef98274c86b9f", "version-semver": "3.1.5", From a04b6773506a664d6e48d9ae1478ebae4cb894b6 Mon Sep 17 00:00:00 2001 From: jjYBdx4IL Date: Mon, 4 Apr 2022 22:01:46 +0200 Subject: [PATCH 2/7] Update version database --- versions/w-/wxwidgets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/w-/wxwidgets.json b/versions/w-/wxwidgets.json index 02b4cbeb75f381..e673371c456eae 100755 --- a/versions/w-/wxwidgets.json +++ b/versions/w-/wxwidgets.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "9ba4dfdfddf6003141be3f26f773c7fd0613f723", + "git-tree": "abf3aed79238513299da14f9a31bba27b267e256", "version-semver": "3.1.5", "port-version": 9 }, From 1b51dcbfc1432420121d8ddd659fd09a203c92fa Mon Sep 17 00:00:00 2001 From: jjYBdx4IL Date: Tue, 5 Apr 2022 00:02:34 +0200 Subject: [PATCH 3/7] use @ONLY for file inserts --- ports/wxwidgets/portfile.cmake | 18 ++++++++---------- ports/wxwidgets/vcpkg-cmake-wrapper.cmake | 5 ++++- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/ports/wxwidgets/portfile.cmake b/ports/wxwidgets/portfile.cmake index 19b02c709b9a95..3aceea6e6841e7 100644 --- a/ports/wxwidgets/portfile.cmake +++ b/ports/wxwidgets/portfile.cmake @@ -128,27 +128,25 @@ if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/include/wx/setup.h") configure_file("${CMAKE_CURRENT_LIST_DIR}/setup.h.in" "${CURRENT_PACKAGES_DIR}/include/wx/setup.h" @ONLY) endif() -set(CM_WRAPPER "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake") -file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") -# append a fixed set of properly categorized libs to the cmake config +# insert a fixed set of properly categorized libs into the cmake config file(GLOB WX_DEBUG_LIBS "${CURRENT_PACKAGES_DIR}/debug/lib/wx*31*") file(GLOB WX_OPT_LIBS "${CURRENT_PACKAGES_DIR}/lib/wx*31*") set(wxWidgets_LIBRARIES) +set(system_LIBRARIES) foreach(WX_DEBUG_LIB ${WX_DEBUG_LIBS}) get_filename_component(LIBNAME ${WX_DEBUG_LIB} NAME_WLE) - list(APPEND wxWidgets_LIBRARIES "debug") - list(APPEND wxWidgets_LIBRARIES ${LIBNAME}) + list(APPEND wxWidgets_LIBRARIES "debug;${LIBNAME}") endforeach() foreach(WX_OPT_LIB ${WX_OPT_LIBS}) get_filename_component(LIBNAME ${WX_OPT_LIB} NAME_WLE) - list(APPEND wxWidgets_LIBRARIES "optimized") - list(APPEND wxWidgets_LIBRARIES ${LIBNAME}) + list(APPEND wxWidgets_LIBRARIES "optimized;${LIBNAME}") endforeach() -file(APPEND "${CM_WRAPPER}" "\n set(wxWidgets_LIBRARIES \"${wxWidgets_LIBRARIES};\${wxWidgets_LIBRARIES}\")\n") +# append system libs if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") - file(APPEND "${CM_WRAPPER}" " set(wxWidgets_LIBRARIES \"\${wxWidgets_LIBRARIES};comctl32;rpcrt4\")\n") + set(system_LIBRARIES "comctl32;rpcrt4") endif() -file(APPEND "${CM_WRAPPER}" "endif()\n") +configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" + "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY) diff --git a/ports/wxwidgets/vcpkg-cmake-wrapper.cmake b/ports/wxwidgets/vcpkg-cmake-wrapper.cmake index b49f0e2ff126ec..6168f85f90a3da 100644 --- a/ports/wxwidgets/vcpkg-cmake-wrapper.cmake +++ b/ports/wxwidgets/vcpkg-cmake-wrapper.cmake @@ -16,7 +16,7 @@ find_package(TIFF QUIET) find_package(expat CONFIG QUIET) if(wxWidgets_LIBRARIES AND NOT wxWidgets_LIBRARIES MATCHES "^debug;") - set(wxWidgets_LIBRARIES) + set(wxWidgets_LIBRARIES "@wxWidgets_LIBRARIES@") list(APPEND wxWidgets_LIBRARIES "TIFF::TIFF;expat::expat;ZLIB::ZLIB") if (TARGET png) @@ -24,3 +24,6 @@ if(wxWidgets_LIBRARIES AND NOT wxWidgets_LIBRARIES MATCHES "^debug;") elseif(TARGET png_static) list(APPEND wxWidgets_LIBRARIES "png_static") endif() + + list(APPEND wxWidgets_LIBRARIES "@system_LIBRARIES@") +endif() From 2e7e19e9c34c87207090ec9b846e9966d7eb9080 Mon Sep 17 00:00:00 2001 From: jjYBdx4IL Date: Tue, 5 Apr 2022 00:03:05 +0200 Subject: [PATCH 4/7] update version database --- versions/w-/wxwidgets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/versions/w-/wxwidgets.json b/versions/w-/wxwidgets.json index e673371c456eae..24cce013e4a16e 100755 --- a/versions/w-/wxwidgets.json +++ b/versions/w-/wxwidgets.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "abf3aed79238513299da14f9a31bba27b267e256", + "git-tree": "f6f87f79f47e18f1c8be06a5e37df2cc9f87902f", "version-semver": "3.1.5", "port-version": 9 }, From 839aa05139cf7e721cc3d0bf9754b2b5bfbb2ec0 Mon Sep 17 00:00:00 2001 From: jjYBdx4IL Date: Tue, 5 Apr 2022 02:08:18 +0200 Subject: [PATCH 5/7] fix file permissions --- versions/baseline.json | 0 versions/w-/wxwidgets.json | 0 2 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 versions/baseline.json mode change 100755 => 100644 versions/w-/wxwidgets.json diff --git a/versions/baseline.json b/versions/baseline.json old mode 100755 new mode 100644 diff --git a/versions/w-/wxwidgets.json b/versions/w-/wxwidgets.json old mode 100755 new mode 100644 From 9c73def782e4896f054c2c41bc844db5c87c8318 Mon Sep 17 00:00:00 2001 From: jjYBdx4IL Date: Wed, 6 Apr 2022 18:46:23 +0200 Subject: [PATCH 6/7] fix stuff --- ports/wxwidgets/portfile.cmake | 17 ------ ports/wxwidgets/vcpkg-cmake-wrapper.cmake | 73 ++++++++++++++++++----- 2 files changed, 58 insertions(+), 32 deletions(-) diff --git a/ports/wxwidgets/portfile.cmake b/ports/wxwidgets/portfile.cmake index 3aceea6e6841e7..ddde79aad239bc 100644 --- a/ports/wxwidgets/portfile.cmake +++ b/ports/wxwidgets/portfile.cmake @@ -128,23 +128,6 @@ if(NOT EXISTS "${CURRENT_PACKAGES_DIR}/include/wx/setup.h") configure_file("${CMAKE_CURRENT_LIST_DIR}/setup.h.in" "${CURRENT_PACKAGES_DIR}/include/wx/setup.h" @ONLY) endif() -# insert a fixed set of properly categorized libs into the cmake config -file(GLOB WX_DEBUG_LIBS "${CURRENT_PACKAGES_DIR}/debug/lib/wx*31*") -file(GLOB WX_OPT_LIBS "${CURRENT_PACKAGES_DIR}/lib/wx*31*") -set(wxWidgets_LIBRARIES) -set(system_LIBRARIES) -foreach(WX_DEBUG_LIB ${WX_DEBUG_LIBS}) - get_filename_component(LIBNAME ${WX_DEBUG_LIB} NAME_WLE) - list(APPEND wxWidgets_LIBRARIES "debug;${LIBNAME}") -endforeach() -foreach(WX_OPT_LIB ${WX_OPT_LIBS}) - get_filename_component(LIBNAME ${WX_OPT_LIB} NAME_WLE) - list(APPEND wxWidgets_LIBRARIES "optimized;${LIBNAME}") -endforeach() -# append system libs -if(VCPKG_TARGET_IS_WINDOWS AND VCPKG_LIBRARY_LINKAGE STREQUAL "static") - set(system_LIBRARIES "comctl32;rpcrt4") -endif() configure_file("${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" "${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake" @ONLY) diff --git a/ports/wxwidgets/vcpkg-cmake-wrapper.cmake b/ports/wxwidgets/vcpkg-cmake-wrapper.cmake index 6168f85f90a3da..44068c38696593 100644 --- a/ports/wxwidgets/vcpkg-cmake-wrapper.cmake +++ b/ports/wxwidgets/vcpkg-cmake-wrapper.cmake @@ -1,12 +1,13 @@ -set(wxWidgets_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}/../.." CACHE INTERNAL "" FORCE) +get_filename_component(wxWidgets_ROOT_DIR "${CMAKE_CURRENT_LIST_DIR}/../.." ABSOLUTE) +set(wxWidgets_ROOT_DIR "${wxWidgets_ROOT_DIR}" CACHE INTERNAL "" FORCE) set(WX_ROOT_DIR "${wxWidgets_ROOT_DIR}") set(wxWidgets_LIB_DIR "${wxWidgets_ROOT_DIR}/lib" CACHE INTERNAL "" FORCE) set(WX_LIB_DIR "${wxWidgets_LIB_DIR}") find_library(WX_based NAMES wxbase31ud PATHS "${wxWidgets_ROOT_DIR}/debug/lib" NO_DEFAULT_PATH) -file(GLOB WX_DEBUG_LIBS "${wxWidgets_ROOT_DIR}/debug/lib/wx*.lib") -foreach(WX_DEBUG_LIB ${WX_DEBUG_LIBS}) - string(REGEX REPLACE ".*wx([^/]*)d_([^/\\.]*)\\.[^/\\.]*\$" "WX_\\2d" varname "${WX_DEBUG_LIB}") - set(${varname} "${WX_DEBUG_LIB}" CACHE INTERNAL "" FORCE) +file(GLOB WX_LIBS_DEBUG "${wxWidgets_ROOT_DIR}/debug/lib/wx*.lib") +foreach(WX_LIB_DEBUG ${WX_LIBS_DEBUG}) + string(REGEX REPLACE ".*wx([^/]*)d_([^/\\.]*)\\.[^/\\.]*\$" "WX_\\2d" varname "${WX_LIB_DEBUG}") + set(${varname} "${WX_LIB_DEBUG}" CACHE INTERNAL "" FORCE) endforeach() _find_package(${ARGS}) @@ -15,15 +16,57 @@ find_package(libpng CONFIG QUIET) find_package(TIFF QUIET) find_package(expat CONFIG QUIET) -if(wxWidgets_LIBRARIES AND NOT wxWidgets_LIBRARIES MATCHES "^debug;") - set(wxWidgets_LIBRARIES "@wxWidgets_LIBRARIES@") - list(APPEND wxWidgets_LIBRARIES "TIFF::TIFF;expat::expat;ZLIB::ZLIB") - if (TARGET png) - list(APPEND wxWidgets_LIBRARIES "png") - elseif(TARGET png_static) - list(APPEND wxWidgets_LIBRARIES "png_static") - endif() - - list(APPEND wxWidgets_LIBRARIES "@system_LIBRARIES@") +set(external_LIBS "TIFF::TIFF;expat::expat;ZLIB::ZLIB") +if (TARGET png) + list(APPEND external_LIBS "png") +elseif(TARGET png_static) + list(APPEND external_LIBS "png_static") endif() + + +set(_wxWidgets_LIBRARIES) +foreach(entry ${wxWidgets_LIBRARIES}) + + get_filename_component(LIB_NAME_RELEASE ${entry} NAME) + get_filename_component(LIB_NAME_WLE_RELEASE ${entry} NAME_WLE) + + if(IS_ABSOLUTE ${entry} AND ${LIB_NAME_WLE_RELEASE} MATCHES "^wx[a-z0-9]+u(|_.*)\$") + if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + add_library(${LIB_NAME_WLE_RELEASE} STATIC IMPORTED) + else() + add_library(${LIB_NAME_WLE_RELEASE} SHARED IMPORTED) + endif() + + list(APPEND _wxWidgets_LIBRARIES ${LIB_NAME_WLE_RELEASE}) + + string(REGEX REPLACE "(wx[a-z0-9]+u)([_.].*)\$" "\\1d\\2" LIB_NAME_DEBUG "${LIB_NAME_RELEASE}") + get_filename_component(LIB_NAME_WLE_DEBUG ${LIB_NAME_DEBUG} NAME_WLE) + + if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static") + set_target_properties(${LIB_NAME_WLE_RELEASE} PROPERTIES + IMPORTED_LOCATION_RELEASE "${wxWidgets_ROOT_DIR}/lib/${LIB_NAME_RELEASE}" + IMPORTED_LOCATION_DEBUG "${wxWidgets_ROOT_DIR}/debug/lib/${LIB_NAME_DEBUG}" + ) + else() + set_target_properties(${LIB_NAME_WLE_RELEASE} PROPERTIES + IMPORTED_LOCATION_RELEASE "${wxWidgets_ROOT_DIR}/bin/${LIB_NAME_RELEASE}" + IMPORTED_LOCATION_DEBUG "${wxWidgets_ROOT_DIR}/debug/bin/${LIB_NAME_DEBUG}" + ) + if(MSVC) + set_target_properties(${LIB_NAME_WLE_RELEASE} PROPERTIES + IMPORTED_IMPLIB_RELEASE "${wxWidgets_ROOT_DIR}/lib/${LIB_NAME_RELEASE}" + IMPORTED_IMPLIB_DEBUG "${wxWidgets_ROOT_DIR}/debug/lib/${LIB_NAME_DEBUG}" + ) + endif() + endif() + + set_target_properties(${LIB_NAME_WLE_RELEASE} PROPERTIES + INTERFACE_INCLUDE_DIRECTORIES "${wxWidgets_ROOT_DIR}/include" + IMPORTED_LINK_INTERFACE_LIBRARIES "${external_LIBS}" + ) + else() + list(APPEND _wxWidgets_LIBRARIES ${entry}) + endif() +endforeach() +set(wxWidgets_LIBRARIES ${_wxWidgets_LIBRARIES}) From 084f0eca60b74168845054415cb5031147d48db9 Mon Sep 17 00:00:00 2001 From: jjYBdx4IL Date: Wed, 6 Apr 2022 18:54:44 +0200 Subject: [PATCH 7/7] Update version database --- versions/w-/wxwidgets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 versions/w-/wxwidgets.json diff --git a/versions/w-/wxwidgets.json b/versions/w-/wxwidgets.json old mode 100644 new mode 100755 index 24cce013e4a16e..95a9bd56bb59b3 --- a/versions/w-/wxwidgets.json +++ b/versions/w-/wxwidgets.json @@ -1,7 +1,7 @@ { "versions": [ { - "git-tree": "f6f87f79f47e18f1c8be06a5e37df2cc9f87902f", + "git-tree": "f499edd5b22ebe10585c303c52ba282b9d35b63c", "version-semver": "3.1.5", "port-version": 9 },