diff --git a/ports/wxwidgets/portfile.cmake b/ports/wxwidgets/portfile.cmake index 441943a4a18f41..ddde79aad239bc 100644 --- a/ports/wxwidgets/portfile.cmake +++ b/ports/wxwidgets/portfile.cmake @@ -128,7 +128,9 @@ 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() -file(COPY "${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +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) 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..44068c38696593 100644 --- a/ports/wxwidgets/vcpkg-cmake-wrapper.cmake +++ b/ports/wxwidgets/vcpkg-cmake-wrapper.cmake @@ -1,25 +1,72 @@ -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*d_*.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}) + 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") - 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() +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}) 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 index 9b5c1056e7a70b..e2e3640796d89f 100644 --- 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..95a9bd56bb59b3 --- a/versions/w-/wxwidgets.json +++ b/versions/w-/wxwidgets.json @@ -1,5 +1,10 @@ { "versions": [ + { + "git-tree": "f499edd5b22ebe10585c303c52ba282b9d35b63c", + "version-semver": "3.1.5", + "port-version": 9 + }, { "git-tree": "dba058c37782edf771e7a62ae1bef98274c86b9f", "version-semver": "3.1.5",