Skip to content

Commit

Permalink
[Qt] 6.3.1 (#25259)
Browse files Browse the repository at this point in the history
* [qtbase] Change qt source downloads to point at GitHub

* [qtbase] Rewrite update system to emit tarball data

* [qtbase] PR feedback

* Update Qt to 6.3.1

* reenable qtlocation ?

* v db

* move buildtrees - to b in pipeline; trying to get webengine logs

* fix patch

* v db

* remove special handling of arm cross case fixed in windows toolchain

* v db

* Fix stuff

* fix more stuff

* fix more stuff

* retry

* fix regex replacement

* fix regex stuff. And qtinterface ref?

* more fixes

* remove unused variable

* v db

* Revert scripts/azure-pipelines/test-modified-ports.ps1

* v db fix

* revert qtlocation changes

* revert v db

* v db

* v db

Co-authored-by: Robert Schumacher <roschuma@microsoft.com>
  • Loading branch information
Neumann-A and ras0219-msft authored Jul 1, 2022
1 parent cd01742 commit 0d209ca
Show file tree
Hide file tree
Showing 92 changed files with 602 additions and 826 deletions.
2 changes: 1 addition & 1 deletion ports/qt/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qt",
"version": "6.3.0",
"version": "6.3.1",
"description": "Qt",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
2 changes: 1 addition & 1 deletion ports/qt5compat/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qt5compat",
"version": "6.3.0",
"version": "6.3.1",
"description": "The module contains unsupported Qt 5 APIs",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
2 changes: 1 addition & 1 deletion ports/qtactiveqt/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtactiveqt",
"version": "6.3.0",
"version": "6.3.1",
"description": "ActiveQt",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
3 changes: 1 addition & 2 deletions ports/qtapplicationmanager/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
{
"name": "qtapplicationmanager",
"version": "6.3.0",
"port-version": 1,
"version": "6.3.1",
"description": "Qt component for application lifecycle management",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
37 changes: 37 additions & 0 deletions ports/qtbase/clang-cl_QGADGET_fix.diff
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
diff --git a/src/corelib/kernel/qmetatype.h b/src/corelib/kernel/qmetatype.h
index e40cd85..ba68a01 100644
--- a/src/corelib/kernel/qmetatype.h
+++ b/src/corelib/kernel/qmetatype.h
@@ -18,5 +18,6 @@
#endif

+#include <type_traits>
#include <array>
#include <new>
#include <vector>
@@ -826,7 +829,13 @@
struct IsGadgetHelper { enum { IsRealGadget = false, IsGadgetOrDerivedFrom = false }; };

template<typename T>
+#if defined(__clang__) && (__clang_major__ > 11)
+ // Clang does not reject T::QtGadgetHelper as ambiguous if a class inherits from two QGADGETS
+ // but is not a QGADGET itself
+ struct IsGadgetHelper<T, std::void_t<typename T::QtGadgetHelper, decltype(&T::qt_check_for_QGADGET_macro)>>
+#else
struct IsGadgetHelper<T, typename T::QtGadgetHelper>
+#endif
{
template <typename X>
static char checkType(void (X::*)());
@@ -841,7 +850,11 @@
struct IsPointerToGadgetHelper { enum { IsRealGadget = false, IsGadgetOrDerivedFrom = false }; };

template<typename T>
+#if defined(__clang__) && (__clang_major__ > 11)
+ struct IsPointerToGadgetHelper<T*, std::void_t<typename T::QtGadgetHelper, decltype(&T::qt_check_for_QGADGET_macro)>>
+#else
struct IsPointerToGadgetHelper<T*, typename T::QtGadgetHelper>
+#endif
{
using BaseType = T;
template <typename X>
2 changes: 2 additions & 0 deletions ports/qtbase/cmake/qt_install_copyright.cmake
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
include_guard(GLOBAL)

#Could probably be the beginning of a vcpkg_install_copyright?
function(qt_install_copyright SOURCE_PATH)
#Find the relevant license file and install it
Expand Down
83 changes: 40 additions & 43 deletions ports/qtbase/cmake/qt_install_submodule.cmake
Original file line number Diff line number Diff line change
@@ -1,50 +1,53 @@
include_guard(GLOBAL)

include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake/vcpkg-port-config.cmake")
include("${CURRENT_HOST_INSTALLED_DIR}/share/vcpkg-cmake-config/vcpkg-port-config.cmake")
include("${CMAKE_CURRENT_LIST_DIR}/qt_install_copyright.cmake")

if(QT_IS_LATEST AND PORT STREQUAL "qtbase")
include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details-latest.cmake")
else()
include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details.cmake")
endif()
#set(PORT_DEBUG ON)

if(NOT DEFINED QT6_DIRECTORY_PREFIX)
set(QT6_DIRECTORY_PREFIX "Qt6/")
endif()

macro(qt_stop_on_update)
if(QT_UPDATE_VERSION)
set(VCPKG_POLICY_EMPTY_PACKAGE enabled CACHE INTERNAL "")
return()
function(qt_download_submodule_impl)
cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" "SUBMODULE" "PATCHES")

if("${_qarg_SUBMODULE}" IN_LIST QT_FROM_QT_GIT)
# qtinterfaceframework is not available in the release, so we fall back to a `git clone`.
vcpkg_from_git(
OUT_SOURCE_PATH SOURCE_PATH
URL "https://code.qt.io/qt/${_qarg_SUBMODULE}.git"
REF "${${_qarg_SUBMODULE}_REF}"
PATCHES ${_qarg_PATCHES}
)
else()
if(VCPKG_USE_HEAD_VERSION)
set(sha512 SKIP_SHA512)
elseif(NOT DEFINED "${_qarg_SUBMODULE}_HASH")
message(FATAL_ERROR "No information for ${_qarg_SUBMODULE} -- add it to QT_PORTS and run qtbase in QT_UPDATE_VERSION mode first")
else()
set(sha512 SHA512 "${${_qarg_SUBMODULE}_HASH}")
endif()

qt_get_url_filename("${_qarg_SUBMODULE}" url filename)
vcpkg_download_distfile(archive
URLS "${url}"
FILENAME "${filename}"
${sha512}
)
vcpkg_extract_source_archive(
SOURCE_PATH
ARCHIVE "${archive}"
PATCHES ${_qarg_PATCHES}
)
endif()
endmacro()
set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE)
endfunction()

function(qt_download_submodule)
cmake_parse_arguments(PARSE_ARGV 0 "_qarg" ""
""
"PATCHES")
cmake_parse_arguments(PARSE_ARGV 0 "_qarg" "" "" "PATCHES")

if(QT_UPDATE_VERSION)
set(VCPKG_USE_HEAD_VERSION ON)
set(UPDATE_PORT_GIT_OPTIONS
HEAD_REF "${QT_GIT_TAG}")
endif()

vcpkg_from_git(
OUT_SOURCE_PATH SOURCE_PATH
URL "https://code.qt.io/qt/${PORT}.git"
REF "${${PORT}_REF}"
${UPDATE_PORT_GIT_OPTIONS}
${QT_FETCH_REF}
PATCHES ${_qarg_PATCHES}
)
qt_download_submodule_impl(SUBMODULE "${PORT}" PATCHES ${_qarg_PATCHES})

if(QT_UPDATE_VERSION)
set(VCPKG_POLICY_EMPTY_PACKAGE enabled CACHE INTERNAL "")
message(STATUS "VCPKG_HEAD_VERSION:${VCPKG_HEAD_VERSION}")
file(APPEND "${VCPKG_ROOT_DIR}/ports/qtbase/cmake/qt_new_refs.cmake" "set(${PORT}_REF ${VCPKG_HEAD_VERSION})\n")
endif()
set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE)
endfunction()

Expand Down Expand Up @@ -81,9 +84,6 @@ function(qt_cmake_configure)
if(VCPKG_CROSSCOMPILING)
list(APPEND _qarg_OPTIONS "-DQT_HOST_PATH=${CURRENT_HOST_INSTALLED_DIR}")
list(APPEND _qarg_OPTIONS "-DQT_HOST_PATH_CMAKE_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share")
if(VCPKG_TARGET_ARCHITECTURE STREQUAL arm64 AND VCPKG_TARGET_IS_WINDOWS) # Remove if PR #16111 is merged
list(APPEND _qarg_OPTIONS -DCMAKE_CROSSCOMPILING=ON -DCMAKE_SYSTEM_PROCESSOR:STRING=ARM64 -DCMAKE_SYSTEM_NAME:STRING=Windows)
endif()
endif()

# Disable warning for CMAKE_(REQUIRE|DISABLE)_FIND_PACKAGE_<packagename>
Expand All @@ -99,9 +99,7 @@ function(qt_cmake_configure)
list(TRANSFORM disabled_features REPLACE "(:BOOL)?=OFF" "")
list(APPEND _qarg_OPTIONS_MAYBE_UNUSED ${disabled_features})

if(QT_IS_LATEST)
list(APPEND _qarg_OPTIONS "-DQT_NO_FORCE_SET_CMAKE_BUILD_TYPE:BOOL=ON")
endif()
list(APPEND _qarg_OPTIONS "-DQT_NO_FORCE_SET_CMAKE_BUILD_TYPE:BOOL=ON")

if(NOT PORT MATCHES "qtbase")
list(APPEND _qarg_OPTIONS "-DQT_MKSPECS_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6/mkspecs")
Expand Down Expand Up @@ -288,9 +286,6 @@ function(qt_install_submodule)
set(qt_qmldir ${QT6_DIRECTORY_PREFIX}qml)

qt_download_submodule(PATCHES ${_qis_PATCHES})
if(QT_UPDATE_VERSION)
return()
endif()

if(_qis_DISABLE_NINJA)
set(_opt DISABLE_NINJA)
Expand All @@ -309,3 +304,5 @@ function(qt_install_submodule)
qt_install_copyright("${SOURCE_PATH}")
set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE)
endfunction()

include("${CMAKE_CURRENT_LIST_DIR}/qt_port_details.cmake")
37 changes: 37 additions & 0 deletions ports/qtbase/cmake/qt_port_data.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
set(qtbase_HASH "5c4304dc1f5fa80201b61c9c8dbf4c3449506a243ea1f87e336dc3641a37b9d40c2aa4a93190cc69ddde0f349c74e327c35de5f46de888ddfd49616903e8a7b5")
set(qttools_HASH "6e392ef2415b14119d0c4058efa78f1a66e91c01c8f48a2f1926df43f7f1cb8fcd94f84c91fc0188baa96e3055eede6f080ca4e9f150e263c3fdc5c864649883")
set(qtdeclarative_HASH "547b29dcf26f734b32283677b9e02a43a75f3ab4849e578592031fa37babc09e5b1795e719119ba6b9400ef59b16fd387fb97aa3603454775be4a27e19ff065c")
set(qtsvg_HASH "c040e96d2dc7ef615859dec589e0b0c4e5972c3761dcf9208086b0662bfa1c3d147a10534d62d86fd8c9786a1567f8e9ca196f942a372422fc81cd02f1312c4c")
set(qt5compat_HASH "66196a8d29a2789179904638fcd9ec162d5715e7dc28618b3ef78d07682a05578b6c2e7023144c628b94321a9c1332d39826c13adb1e5db5121406c530c9c35c")
set(qtshadertools_HASH "c9f62139e4407b7bfbec78c231d00fd627be5396056a68c054e6b6ecada8af846198aadcbe2af56bb2c525f2851ecd492195a432e4e084f1db346d2e3722747e")
set(qtquicktimeline_HASH "ad55ed87942ac39c28587e15a5928ed458d5019501a689b7e51d105032d65122ef866a9d39af91c382def54d6e5246a38d16a0906f05fb8d1374e9eecefd2646")
set(qtquick3d_HASH "342a1c558a4eece6e9442e45cc400af58c96fb59614902e0299291ea2c5b1c406d76cd8ec8cf1d8ac0d8b5fc4f2f4637063d1747dcdc54f191a81310df93534e")
set(qttranslations_HASH "1c29842c6fbf669911849649c02415fb911ff187d928604a9bb4473a57aeb463182ed972e0ed0cacba20f8cca8da6733866657edcc22a9a8e9f1cf77ebaba98f")
set(qtwayland_HASH "571654a6abcd865717d4624c65d78e1b911829bba84f609521f349bf896b9475a8ce7759ba6b69e4bc4eef10c31e404c71610816dbee20d1202401efefa2323d")
set(qtdoc_HASH "707f8284b31a9d6bac7a5783e554d641b2092f3571c239207d02e958438d403750216722a9663415e7a2348a8d9afd13f19cfb534d25cdda817c652d1386c011")
set(qtcoap_HASH "4393cdeb0e7a48224b3ea9f63fc4c0594e782fbe2c25a40b3d0cbfd8eb830df740e4489ea5f77947821ef3e6c7744735fc9a2c59a54411b6134e14d71be46cf5")
set(qtopcua_HASH "7dcd6fa710c7c5ef7f41421b12ee4c56ed14ea9da44799ff27ae0c74cda8c41436173d7280afaa34a0284c66540f107ec441ad3bd329a0b98db8814618cd7f45")
set(qtimageformats_HASH "9be2c4dab869c7709775514ee2dbc9d84c8e76b98e8e8a01fcf96355b3309f1830bff57cd9455bc4a33c5f8f0cb948619806dff6f303233c35e5efbdf3cc92f7")
set(qtmqtt_HASH "786e103971ed249b7656261c8844dd84e809246fca65b96b31ba86ee998beefcff9be059fd8c4bc3e2003f3b75b3c3026d7908c96ee4ec5e9ef3629a6280b380")
set(qtnetworkauth_HASH "e7e73c57f9bfebaca7990b5d886682a4fbe5d46c8c952d056514236ae7d6beee4614dc9c957c1fa2526c89c0fc70e7dc8727533d3cc754d367cd7ec749cf2e03")
set(qtactiveqt_HASH "0dfdf0ffe3f0ec1dc31fe8d27d402f07cf44ca85baba1cf6a3db1850347f41bf4ebc9eb85f631787dc6937545e854960c74d39570a7d51ec808b8b6604153c2c")
set(qtdatavis3d_HASH "2d345e42dcb726b8bfa1ca12b0b7feb7f8df6f74f434a8ace58e1d28c3ce9ab4b0877b6918eb9354878ff4a429b56bb5c6cd95a80feeaa38dd67796f5d5171c7")
set(qtdeviceutilities_HASH "9e7b6cc823855f18d97eca8ee1d10f29655cc9492e16deae1ba8d2a9678e716c9bb189ada09e516c1437a0025c9f5aefb899dd44c9063e079bff41a4c0847312")
set(qtlottie_HASH "fbd2513a9c563c8608cf169b7733e5fffa4ec3e42128434175b0737269b1923bdd5f89cad6ccdd4cf7ce857ee7c389b54b91fc1569a264cd0a8f132f7d3ae73b")
set(qtscxml_HASH "b4782c6e9e98dfd8dae0ce75e69db7a3bc2f2764f8f8ee086e05d01e1cd4b824512925d5afc48ed0a6e8d15d43086fefb05b917a28018786726a58ea5bab6a78")
set(qtvirtualkeyboard_HASH "3e5e66b53bd9f0e45069b5423bb1f54cfe5cb36480b1fb5c786a726d7f8fdb69ba122f2b02f34ea6316ea3ae748999884c060c5b8f5ae1dd4fa684252f795234")
set(qtcharts_HASH "c3aa002d9b9d41e55e440127ad84f1413869432ab361c373911a9ef29c25d72fb411f71e950a017f5e97c1d8bef92611fc9558d2619bd73b1e6df2e8963572b0")
set(qtconnectivity_HASH "f35ec394d1be817369959a38528a64dc5a7f060fe37d84363d0b04e14776c796e079787cbe24e7678454a7edf82909d4a3630e614142595dc271fcf10c9a2a0a")
set(qtpositioning_HASH "32cea980147487e5ea6dbd25347b3b37f74fd9d8180d7b463f784eb3877361862e38bfa310e36d83dd9c9eed91b4415812ec9ee7329c96818a32d99a17f76e5f")
set(qtlocation_HASH "a5508da406ec6fb413dc63aa29ddffed0dbd10f0344c8f10231e68178d21b6986e4cf983eb180a40bfd48bef1731e295c0722b31b6495aebe6edc18f7fa55629")
set(qtmultimedia_HASH "c557a8577a28df1997a07643c125033d6ab0e1d64a2e67b659f51d11d29c5634e7ea1264ad31705889e138521b65b74761ac68399dd94637ced8c5d6d07e03c3")
set(qtremoteobjects_HASH "276f7744a2ee017e408957ab03546cb79f9ea92102b5c1fa28a206136ac14600612ca122c38f45b596ef5b9677563b8ba6ad2e3d778711f35b6d03aff6232eed")
set(qtsensors_HASH "1e095e23e16a7360f5f2dc333ecf6dee448d0b96c93f820e94afcc2f4e9472cd24145f286f8669f9499def45d84281b9bfe2886a1e4da304cbf16e34f3491b6b")
set(qtserialbus_HASH "614c83ae7b5289305d6bb5317e6e102874b76aab2d3de84211584fd0f5a02ff16724d73990b62f73ea79cecf3573b0d98bb5780612c511686940799d70496391")
set(qtserialport_HASH "c774353fe019f9745ab8b6ffbb61f15a08a74368b3b8e7f6e16ab60c43ad9003690c013381515e4895288c3f5c22b956506795a153670e3b0c92c200a5283a9e")
set(qtwebchannel_HASH "d253e087a9e97173a6a97eac46d8dfa740d3c77182dfd57514c14e68e50f6745cd90e9367cbb5f5d0a7c43fcbfc046af0bd9124fb2517d741bb5ab1a5af5bf62")
set(qtwebengine_HASH "e00601a7ec6400551f7707d15cf326340ae8d6a5bb8cda55df4619148414f4b3ca3daabfd7263dd5a2ff2ca8ba64f9e91c9db3f1a50bea4903148c57b6dc81dd")
set(qtwebsockets_HASH "25ab603753fdc1c65585b6aa91d3777f48e0763cff97978478586a0f04d0536b5c4d5853f9218d2a0c3b3d01b1bd9ca7e2f0e90020737c1fc70bdd4a3cd5a30c")
set(qtwebview_HASH "73529993e2ca308c841d731c87180bbdb25df93ccf3e472349c5f141f5212678ebe090898f1ee396c4cf07f9eab46e1c3cc7a5371ef5c0dc8fc0c0b9709b2997")
set(qtinterfaceframework_REF 577d0c7f7a2ab952c6eab2cf5798d18e668cbb64)
set(qtapplicationmanager_HASH "7a74e8275bcb84eb946a04a0efc7bd6173b2c6556392da082c896304ab13df751a4be3d4aaf682026359c240a9f4ea252b90d9089df1509eb256ce8fa79b4bf3")
136 changes: 0 additions & 136 deletions ports/qtbase/cmake/qt_port_details-latest.cmake

This file was deleted.

Loading

0 comments on commit 0d209ca

Please sign in to comment.