aboutsummaryrefslogtreecommitdiff
path: root/ports/qtbase
diff options
context:
space:
mode:
authorAlexander Neumann <30894796+Neumann-A@users.noreply.github.com>2021-09-30 22:03:56 +0200
committerGitHub <noreply@github.com>2021-09-30 13:03:56 -0700
commit35bfef708400cf882efb3e4df93045e0a06c9c23 (patch)
treef507c664794ece69707f33aef7fc627d96acbed7 /ports/qtbase
parent8ad33ead9075cd8d6d357e0b870ba8d501efe35c (diff)
downloadvcpkg-35bfef708400cf882efb3e4df93045e0a06c9c23.tar.gz
vcpkg-35bfef708400cf882efb3e4df93045e0a06c9c23.zip
[Qt 6.2] Update Qt6 to 6.2 (#18687)
* [qt6] Update to 6.1.1 * version stuff * fix empty dir * update version * fix casing in qtbase * [libpq] add secure32.lib on windows * add clang-cl fix * version stuff * fix flag removal by adding a space * version stuff * make qt6->Qt6 usage consistent since Qt6 refers to itself as Qt6 with uppercase Q * fix libpq wrapper opensll linkage on linux * use policy to fix dependent ports * version stuff * use upstream patch * version stuff * fix source_location with clang-cl * version stuff * add all new modules * add all modules to the qt port * push all the ports * fix patch * update ports * split qt_install_submodule into smaller functions * add qlitehtml submodule to qttools * update a few ports before moving to beta * update vcpkg.json and refs and fix issue with update * fix dependencies * remove patch * update to 6.2 * add nodejs to vcpkg_find_acquire_program for qtwebengine * format manifest. * fix webengine and see if it builds. * apply format diff * add patch * fix arm builds * fix linux gcc 7.5 build error * fix patch * bump version in qtbase otherwise CI seems to resuse the wrong version * fix webengine release build * try fixing gcc 7.5 build * revert gcc 7.5 fixes since they broke osx * revert gcc 7.5 fixes since they broke osx * fix qtimageformats. * actually enable new qt6 builds. * fix search path for nodejs. * fix the webengine patch again. * fix wrong binary name * revisit all dependencies * revisit webengine features and build settings * more feature stuff * remove qt6betablock and more features review for qt 6.2 * add missing qt prefix. * format manifest * fix ci issues * format manifest. * add node on osx. * install node on linux * fix a typo and a disable another find_package * fix mingw build issues and switch to not using tag * use CMAKE_HOST_WIN32 instead * update ref * fix core configure error * fix mingw case. * fix script installation * remove qmake helper scrpt * delete debug folder if empty * add vcpkg-tool-nodejs * revert changes in the pipeline scripts * adjust qtwebengine to the changes * format manifest and revert doc changes * fix message and logic * fix hashes and make host only port * fix hash again? * qttools add linguist feature for crossbuilds * fix dependency * add thread and future to concurrent feature * add assistant as a required host feature (somebody should tell Qt not to do that) * fix dependency. * [skip ci] not a host dep?!? * [skip ci] debuging * [skip ci] more debug messages * [skip ci] try always redownloading * [skip ci] fix hash und skip hash for redownloading once * [skip ci] comment out skip sha and redownload * add vcpkg_fixup_pkgconfig to libvpx * qtwebengine requires qml and quick * fix manifest format * qtwebengine does not support static builds! * remove unnecessary parts of the patch * update to beta2 * add some " and a message in update mode * [skip ci] remove old and reorder patches * [skip ci] add qtpaths6 * [skip actions] fix webengine patch * [skip actions] fix a few submodule refs * [skip actions] fix qtwebengine * [skip actions] remove qml feature from webengine in qt metaport * qtdeclarative raise minimum cmake version * use the tree id instead? * [skip actions] raise minimum cmake version in qtquick3d * fix fetching of unadvertised commit ids * revert changes to vcpkg_from_git * revert doc changes * [skip actions] use the new FETCH_REF * [skip actiosn] remove raise of minimum version to retry with new cmake version * [skip actions] update to beta3 * revert removal of patch * update to beta4 remove qtquickcontrols2 deps * fix missing \ * [skip actions] fix gstreamer feature on windows * [skip actions] remove outdated patches format qtmultimedia * [skip actions] update to rc1 * [skip actions] remove patch for now * update refs * [skip actions] comment patch to try another patch in qtmultimedia * x86 is not supported by qtwebengine (at least one of its internal third party deps fails due to x64 intrinsics.) * Finalize for 6.2 release. Open issues: QtWebengine and cross builds. * version stuff * fix semver in qtquickcontrols. * version stuff * revise qtwebengine supports expression * update version
Diffstat (limited to 'ports/qtbase')
-rw-r--r--ports/qtbase/20b3eb0.diff130
-rw-r--r--ports/qtbase/buildcmake.patch41
-rw-r--r--ports/qtbase/clang-cl_source_location.patch2
-rw-r--r--ports/qtbase/cmake/qt_install_submodule.cmake3
-rw-r--r--ports/qtbase/cmake/qt_port_details-latest.cmake100
-rw-r--r--ports/qtbase/cmake/qt_port_details.cmake93
-rw-r--r--ports/qtbase/fix_cmake_build.patch15
-rw-r--r--ports/qtbase/fix_egl.patch12
-rw-r--r--ports/qtbase/fix_find_dep.patch13
-rw-r--r--ports/qtbase/jpeg.patch22
-rw-r--r--ports/qtbase/portfile.cmake35
-rw-r--r--ports/qtbase/vcpkg.json2
12 files changed, 180 insertions, 288 deletions
diff --git a/ports/qtbase/20b3eb0.diff b/ports/qtbase/20b3eb0.diff
deleted file mode 100644
index 978b30ffa..000000000
--- a/ports/qtbase/20b3eb0.diff
+++ /dev/null
@@ -1,130 +0,0 @@
-From 20b3eb0fd8b5f82cf432f2c06e7c5d3f533df0a5 Mon Sep 17 00:00:00 2001
-From: Cristian Adam <cristian.adam@qt.io>
-Date: Thu, 03 Jun 2021 12:42:07 +0200
-Subject: [PATCH] CMake: Add support for building with clang-cl
-
-qmake had support for building with clang-cl as the win32-clang-msvc mkspec.
-
-Task-number: QTBUG-89642
-Task-number: QTBUG-88081
-Change-Id: I0709c289f90fedb121620d1e67ef841602219816
-Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
----
-
-diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake
-index bb8b146..792276e 100644
---- a/cmake/QtBuild.cmake
-+++ b/cmake/QtBuild.cmake
-@@ -285,7 +285,9 @@
- list(APPEND QT_DEFAULT_PLATFORM_DEFINITIONS WIN64 _WIN64)
- endif()
- if(MSVC)
-- if(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
-+ if (CLANG)
-+ set(QT_DEFAULT_MKSPEC win32-clang-msvc)
-+ elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64")
- set(QT_DEFAULT_MKSPEC win32-arm64-msvc)
- else()
- set(QT_DEFAULT_MKSPEC win32-msvc)
-diff --git a/cmake/QtFlagHandlingHelpers.cmake b/cmake/QtFlagHandlingHelpers.cmake
-index 0c57d9e..0eeccce 100644
---- a/cmake/QtFlagHandlingHelpers.cmake
-+++ b/cmake/QtFlagHandlingHelpers.cmake
-@@ -235,7 +235,7 @@
- function(qt_set_msvc_cplusplus_options target visibility)
- # For MSVC we need to explicitly pass -Zc:__cplusplus to get correct __cplusplus.
- # Check qt_config_compile_test for more info.
-- if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC" AND MSVC_VERSION GREATER_EQUAL 1913)
-+ if(MSVC AND MSVC_VERSION GREATER_EQUAL 1913)
- target_compile_options("${target}" ${visibility} "-Zc:__cplusplus" "-permissive-")
- endif()
- endfunction()
-diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt
-index 2c991f7..9f0c95e 100644
---- a/src/corelib/CMakeLists.txt
-+++ b/src/corelib/CMakeLists.txt
-@@ -263,4 +263,24 @@
- # special case end
- )
-
-+if (MSVC AND CLANG)
-+ foreach(subarch sse4_1 rdrnd rdseed)
-+ if (TEST_subarch_${subarch})
-+ qt_internal_add_simd_part(Core SIMD ${subarch}
-+ SOURCES
-+ global/qsimd.cpp
-+ )
-+ endif()
-+ endforeach()
-+
-+ foreach(subarch sse4_1 aesni)
-+ if (TEST_subarch_${subarch})
-+ qt_internal_add_simd_part(Core SIMD ${subarch}
-+ SOURCES
-+ tools/qhash.cpp
-+ )
-+ endif()
-+ endforeach()
-+endif()
-+
- # special case begin
-diff --git a/src/corelib/global/qt_pch.h b/src/corelib/global/qt_pch.h
-index 5869751..6108b07 100644
---- a/src/corelib/global/qt_pch.h
-+++ b/src/corelib/global/qt_pch.h
-@@ -62,17 +62,22 @@
- # define _POSIX_
- # include <limits.h>
- # undef _POSIX_
--#endif
--#include <qcoreapplication.h>
--#include <qcoreevent.h>
--#include <qiodevice.h>
--#include <qlist.h>
--#include <qvariant.h> /* All moc genereated code has this include */
--#include <qobject.h>
--#include <qregularexpression.h>
--#include <qscopedpointer.h>
--#include <qshareddata.h>
--#include <qstring.h>
--#include <qstringlist.h>
--#include <qtimer.h>
-+# if defined(Q_CC_CLANG) && defined(Q_CC_MSVC)
-+// See https://bugs.llvm.org/show_bug.cgi?id=41226
-+# include <wchar.h>
-+__declspec(selectany) auto *__wmemchr_symbol_loader_value = wmemchr(L"", L'0', 0);
-+# endif
-+# endif
-+# include <qcoreapplication.h>
-+# include <qcoreevent.h>
-+# include <qiodevice.h>
-+# include <qlist.h>
-+# include <qvariant.h> /* All moc genereated code has this include */
-+# include <qobject.h>
-+# include <qregularexpression.h>
-+# include <qscopedpointer.h>
-+# include <qshareddata.h>
-+# include <qstring.h>
-+# include <qstringlist.h>
-+# include <qtimer.h>
- #endif
-diff --git a/src/gui/CMakeLists.txt b/src/gui/CMakeLists.txt
-index 5fe4d59..04f58dd 100644
---- a/src/gui/CMakeLists.txt
-+++ b/src/gui/CMakeLists.txt
-@@ -577,6 +577,15 @@
- )
- endif()
-
-+ if (MSVC AND CLANG AND TEST_subarch_sse4_1)
-+ qt_internal_add_simd_part(Gui SIMD sse4_1
-+ SOURCES
-+ painting/qdrawhelper.cpp
-+ painting/qdrawhelper_sse2.cpp
-+ painting/qdrawhelper_ssse3.cpp
-+ )
-+ endif()
-+
- qt_internal_add_simd_part(Gui SIMD ssse3
- SOURCES
- image/qimage_ssse3.cpp
diff --git a/ports/qtbase/buildcmake.patch b/ports/qtbase/buildcmake.patch
deleted file mode 100644
index 07c3e3704..000000000
--- a/ports/qtbase/buildcmake.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake
-index d08126731..efd1ada92 100644
---- a/cmake/QtBuild.cmake
-+++ b/cmake/QtBuild.cmake
-@@ -387,7 +387,7 @@ set(QT_KNOWN_MODULES_WITH_TOOLS "" CACHE INTERNAL "Known Qt modules with tools"
-
- # Reset syncqt cache variable, to make sure it gets recomputed on reconfiguration, otherwise
- # it might not get installed.
--unset(QT_SYNCQT CACHE)
-+# unset(QT_SYNCQT CACHE)
-
- # For adjusting variables when running tests, we need to know what
- # the correct variable is for separating entries in PATH-alike
-diff --git a/cmake/QtBuildInternalsExtra.cmake.in b/cmake/QtBuildInternalsExtra.cmake.in
-index 9eb913f4d..286f3287e 100644
---- a/cmake/QtBuildInternalsExtra.cmake.in
-+++ b/cmake/QtBuildInternalsExtra.cmake.in
-@@ -35,8 +35,8 @@ endif()
- set(QT_WILL_INSTALL @QT_WILL_INSTALL@ CACHE BOOL
- "Boolean indicating if doing a Qt prefix build (vs non-prefix build)." FORCE)
-
--set(QT_SOURCE_TREE "@QT_SOURCE_TREE@" CACHE PATH
--"A path to the source tree of the previously configured QtBase project." FORCE)
-+# set(QT_SOURCE_TREE "@QT_SOURCE_TREE@" CACHE PATH
-+# "A path to the source tree of the previously configured QtBase project." FORCE)
-
- # Propagate decision of building tests and examples to other repositories.
- set(QT_BUILD_TESTS @QT_BUILD_TESTS@ CACHE BOOL "Build the testing tree.")
-diff --git a/cmake/QtPrlHelpers.cmake b/cmake/QtPrlHelpers.cmake
-index 30d3bd6d3..80bb2bf46 100644
---- a/cmake/QtPrlHelpers.cmake
-+++ b/cmake/QtPrlHelpers.cmake
-@@ -222,7 +222,7 @@ function(qt_internal_walk_libs
- qt_internal_should_not_promote_package_target_to_global(
- "${lib_target_unaliased}" should_not_promote)
- if(NOT is_global AND is_imported AND NOT should_not_promote)
-- set_property(TARGET ${lib_target_unaliased} PROPERTY IMPORTED_GLOBAL TRUE)
-+ #set_property(TARGET ${lib_target_unaliased} PROPERTY IMPORTED_GLOBAL TRUE)
- endif()
- endif()
- else()
diff --git a/ports/qtbase/clang-cl_source_location.patch b/ports/qtbase/clang-cl_source_location.patch
index 1eeb67aaf..6d0a9527e 100644
--- a/ports/qtbase/clang-cl_source_location.patch
+++ b/ports/qtbase/clang-cl_source_location.patch
@@ -9,6 +9,6 @@ index 823b2057b..4a8cd4fa8 100644
-#if __has_include(<source_location>) && __cplusplus >= 202002L && !defined(Q_CLANG_QDOC)
+#if __has_include(<source_location>) && __cplusplus >= 202002L && !defined(Q_CLANG_QDOC) && defined(__cpp_consteval)
#include <source_location>
- #if defined(__cpp_lib_source_location)
+ #if defined(__cpp_lib_source_location)
#define QT_SOURCE_LOCATION_NAMESPACE std
#define QT_PROPERTY_COLLECT_BINDING_LOCATION
diff --git a/ports/qtbase/cmake/qt_install_submodule.cmake b/ports/qtbase/cmake/qt_install_submodule.cmake
index ed497a13e..56c40c579 100644
--- a/ports/qtbase/cmake/qt_install_submodule.cmake
+++ b/ports/qtbase/cmake/qt_install_submodule.cmake
@@ -32,7 +32,6 @@ function(qt_download_submodule)
vcpkg_from_git(
OUT_SOURCE_PATH SOURCE_PATH
URL "https://code.qt.io/qt/${PORT}.git"
- #TAG ${${PORT}_TAG}
REF "${${PORT}_REF}"
${UPDATE_PORT_GIT_OPTIONS}
PATCHES ${_qarg_PATCHES}
@@ -245,4 +244,4 @@ function(qt_install_submodule)
qt_install_copyright("${SOURCE_PATH}")
set(SOURCE_PATH "${SOURCE_PATH}" PARENT_SCOPE)
-endfunction() \ No newline at end of file
+endfunction()
diff --git a/ports/qtbase/cmake/qt_port_details-latest.cmake b/ports/qtbase/cmake/qt_port_details-latest.cmake
index 5dda21b7f..e89df6b96 100644
--- a/ports/qtbase/cmake/qt_port_details-latest.cmake
+++ b/ports/qtbase/cmake/qt_port_details-latest.cmake
@@ -1,12 +1,21 @@
-set(QT_VERSION 6.1.0-beta3)
+set(QT_VERSION 6.2.0)
+
+if(PORT MATCHES "qtquickcontrols2")
+ set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+ message(STATUS "qtquickcontrols2 is integrated in qtdeclarative since Qt 6.2. Please remove your dependency on it!")
+ return()
+endif()
set(QT_GIT_TAG v${QT_VERSION})
+
#set(QT_UPDATE_VERSION TRUE)
+if(QT_UPDATE_VERSION)
+ function(vcpkg_extract_source_archive)
+ endfunction()
+endif()
set(QT_IS_LATEST 1)
-# List of added an removed modules https://doc-snapshots.qt.io/qt6-dev/whatsnew60.html#changes-to-supported-modules
-#https://wiki.qt.io/Get_the_Source
-#TODO:qtknx?
-set(QT_PORTS qtbase
+set(QT_PORTS qt
+ qtbase
qttools
qtdeclarative
qtsvg
@@ -22,8 +31,8 @@ set(QT_PORTS qtbase
qtimageformats
qtmqtt
qtnetworkauth
- qtquickcontrols2
- ###
+ # qtquickcontrols2 -> moved into qtdeclarative
+ ## New in 6.1
qtactiveqt
qtdatavis3d
#qtdeviceutils
@@ -31,38 +40,60 @@ set(QT_PORTS qtbase
qtscxml
qtvirtualkeyboard
qtcharts
+ ## New in 6.2
+ qtconnectivity
+ qtlocation
+ qtmultimedia
+ qtremoteobjects
+ qtsensors
+ qtserialbus
+ qtserialport
+ qtwebchannel
+ qtwebengine
+ qtwebsockets
+ qtwebview
)
-# New: qtactiveqt qtdatavis3d qtlottie qtscxml qtvirtualkeyboard qtcharts
foreach(_port IN LISTS QT_PORTS)
set(${_port}_TAG ${QT_GIT_TAG})
endforeach()
-
-set(qtbase_REF 089b73de033190e511c0bd11cba22160024ef9a4)
-set(qttools_REF a810532b7f68348281bac13fc03395bf08827c28)
-set(qtdeclarative_REF 1e4730ae0f44ece8ff8a27d4de127d8da9ed8a13)
-set(qtsvg_REF 1adf841f16cab093f7db6a1fbffd088b138afed3)
-set(qt5compat_REF 6ab304e8d2fe7f58cf608f8a30abbf769680f027)
-set(qtshadertools_REF c26caefc6f67f01ae52372a70d3887077477388d)
-set(qtquicktimeline_REF a91e82010047c9422d573b4c8648c175b470839e)
-set(qtquick3d_REF f6614a31bd8a092d2081092dc7043ead9e7475ea)
-set(qttranslations_REF 8a39fca4b56817fa2f7393fd5c5850bb167ac8f3)
-set(qtwayland_REF 8237b7384537e3bc1687c1e05a20d450a6ed38f3)
-set(qtdoc_REF 9259552281e4322a63f2cd0edce7904af1147bca)
-set(qtimageformats_REF acd9ad1f69606553bc975fb33ae4efd52b2fbe9f)
-set(qtmqtt_REF 3bdd419302de7e1e8a819509d115c32d2fbf4d49)
-set(qtquickcontrols2_REF a74819563efc3495a86a696e678bec11bab33ec6)
-set(qtnetworkauth_REF 92a1ff5b63f56e77030cdfbe9c456a31d3a2d5e2)
-set(qtcoap_REF bc8f5ff0e678aa4b4c9081e543fd7c119754a3a1)
-set(qtopcua_REF 0cd72d5e9cfaaf96b6d9a2d4ce4a6c46ffbbcdd4)
-###
-set(qtactiveqt_REF 94a100baa75248ba49c01680ca3632cd7180a8e8)
-set(qtdatavis3d_REF c1e7a47f47cc289652f2004403cb1e587308c290)
+set(qtbase_REF 0c2d00de3488116db9f9d657fe18bcb972a83792)
+set(qtshadertools_REF 119cd6e9c9e89f93b74db28f261382a2fcfe504e)
+set(qtdeclarative_REF 37da36c97d9d557945abca3cea5c68d9985a06e3)
+set(qt5compat_REF 291993c7813ec706e54069c7de339edfdd385c0d)
+set(qttools_REF 00efbf90f978afefdcece314d19b79459eee2211) # Additional refs in portfile due to submodule
+set(qtcoap_REF be7822dc920a3e3eb252d5693a7153aa606d3dc1)
+set(qtdoc_REF 48a1fbab30a9f57f011fdea8ec2b47048dce4069)
+set(qtimageformats_REF 7bb9dc839c0dd0806445fd475b027a82c961f686)
+set(qtmqtt_REF 4fd647e23d95c522c45d86be584d18578f894823)
+set(qtnetworkauth_REF aa23db40ca552d60383dea17d703b1cc0cbeace4)
+set(qtopcua_REF cfb3767b2a6785e0437b99c015cb6aef7f40189c)
+set(qtquicktimeline_REF e9578a6949f6192440df1cb261ed9de98a9de7d7)
+set(qtquick3d_REF eaf9c60073b95b03c006279f08d4947699c32a4b)
+set(qtsvg_REF cceecea040ca1247db0212217d07ec2c331004ba)
+set(qttranslations_REF 03a146236e69ee41c0405a8b5707104b4ac0c6e8)
+set(qtwayland_REF 8c4900dda393752faab14e39e60aec6b545c8a0f)
+# set(qtquickcontrols2_REF 0) # Moved into qtdeclarative since Qt 6.2
+### New in 6.1
+set(qtactiveqt_REF 94c924a8501dba7487bf2648bdf06aefc33e726d)
+set(qtcharts_REF d56b9f3de193cbf561f4b1ec332d8598dbdaaaca)
+set(qtdatavis3d_REF 5c90e6642882b3b7440608f71b96ce28908f0ee8)
#set(qtdeviceutils_REF 0) #missing tag
-set(qtlottie_REF ddda33a7294512487035de6338a91657501c9fd2)
-set(qtscxml_REF 8e2ad5c798110337b90c582c68e903465e19e3fe)
-set(qtvirtualkeyboard_REF 266626a0414aef2fcc65d412f02c993c87a1cae6)
-set(qtcharts_REF 962a05cea44108d13f081a12bd53232ef856427c)
+set(qtlottie_REF 48df4f1067514a3ae8b895b5f78fca09029d9288)
+set(qtscxml_REF 68ac6986b9a9b3acfcab1e445edc7c198bbf7344)
+set(qtvirtualkeyboard_REF 0e49e057777cd6c3f93d123e59a9399a2cf0040f)
+### New in 6.2
+set(qtconnectivity_REF 78e7ffbe16469a19fa34cad711e0898d91bd2f30)
+set(qtlocation_REF 47a945b0d054539eab3ba1cf3a1d7bf5977051d6)
+set(qtmultimedia_REF d7d0e676abd4b280feb0d5105846378b64782487)
+set(qtremoteobjects_REF 58932ba10420faa1cc989ed5bf101ff06475a4fc)
+set(qtsensors_REF 192ca0fd252066101eb0456b957fdb51618fa7db)
+set(qtserialbus_REF ce089bef29ca55d7fe46508d92d3e498eb5bb847)
+set(qtserialport_REF 14dc155f3640af94c6ecff2de1489e14cd5b0047)
+set(qtwebchannel_REF 09315a8d626e106953723ce68e68d6b4b97c2c52)
+set(qtwebengine_REF 261d72c8afc72faf23d169a64749db216db68859) # Additional refs in portfile due to submodule
+set(qtwebsockets_REF a01c2d6638fad700db23863258b7fc4a1ecdd542)
+set(qtwebview_REF ca0053b6a5320046508e9ba205df775a62c1a211)
if(QT_UPDATE_VERSION)
message(STATUS "Running Qt in automatic version port update mode!")
@@ -72,7 +103,8 @@ if(QT_UPDATE_VERSION)
foreach(_current_qt_port IN LISTS QT_PORTS)
set(_current_control "${VCPKG_ROOT_DIR}/ports/${_current_qt_port}/vcpkg.json")
file(READ "${_current_control}" _control_contents)
- string(REGEX REPLACE "\"version-string\": [^\n]+\n" "\"version-string\": \"${QT_VERSION}\",\n" _control_contents "${_control_contents}")
+ string(REGEX REPLACE "\"version-(string|semver)\": [^\n]+\n" "\"version-semver\": \"${QT_VERSION}\",\n" _control_contents "${_control_contents}")
+ string(REGEX REPLACE "\"port-version\": [^\n]+\n" "" _control_contents "${_control_contents}")
file(WRITE "${_current_control}" "${_control_contents}")
#need to run a vcpkg format-manifest --all after update once
endforeach()
diff --git a/ports/qtbase/cmake/qt_port_details.cmake b/ports/qtbase/cmake/qt_port_details.cmake
index 7d44bf87e..88e234e02 100644
--- a/ports/qtbase/cmake/qt_port_details.cmake
+++ b/ports/qtbase/cmake/qt_port_details.cmake
@@ -1,15 +1,20 @@
-set(QT_VERSION 6.1.3)
+set(QT_VERSION 6.2.0)
+
+if(PORT MATCHES "qtquickcontrols2")
+ set(VCPKG_POLICY_EMPTY_PACKAGE enabled)
+ message(STATUS "qtquickcontrols2 is integrated in qtdeclarative since Qt 6.2. Please remove your dependency on it!")
+ return()
+endif()
set(QT_GIT_TAG v${QT_VERSION})
+
#set(QT_UPDATE_VERSION TRUE)
if(QT_UPDATE_VERSION)
function(vcpkg_extract_source_archive)
endfunction()
endif()
-# List of added an removed modules https://doc-snapshots.qt.io/qt6-dev/whatsnew60.html#changes-to-supported-modules
-#https://wiki.qt.io/Get_the_Source
-#TODO:qtknx?
-set(QT_PORTS qtbase
+set(QT_PORTS qt
+ qtbase
qttools
qtdeclarative
qtsvg
@@ -25,7 +30,8 @@ set(QT_PORTS qtbase
qtimageformats
qtmqtt
qtnetworkauth
- qtquickcontrols2
+ # qtquickcontrols2 -> moved into qtdeclarative
+ ## New in 6.1
qtactiveqt
qtdatavis3d
#qtdeviceutils
@@ -33,46 +39,71 @@ set(QT_PORTS qtbase
qtscxml
qtvirtualkeyboard
qtcharts
- qt
+ ## New in 6.2
+ qtconnectivity
+ qtlocation
+ qtmultimedia
+ qtremoteobjects
+ qtsensors
+ qtserialbus
+ qtserialport
+ qtwebchannel
+ qtwebengine
+ qtwebsockets
+ qtwebview
)
foreach(_port IN LISTS QT_PORTS)
set(${_port}_TAG ${QT_GIT_TAG})
endforeach()
-
-set(qtbase_REF 3ff48409ed14c7a63010b14e053a7201a61391c5)
-set(qttools_REF a69e290e25fd145a8b02223130192555f7962ea2)
-set(qtdeclarative_REF 38845e18ef11ac2f1a1db82377b30f1649fdc499)
-set(qtsvg_REF 24d635154689be46aaaf2ba0e3538d2f8fafeb3d)
-set(qt5compat_REF fcacd7f544b496420db485187aa55d76898ce73d)
-set(qtshadertools_REF 06fc3c49b7b8cba80e6b6ff31ac5d703e3a2abcb)
-set(qtquicktimeline_REF be6321dc5164657072ff7069a7132d44222a503c)
-set(qtquick3d_REF ccd45eb39ec1fb88d62438c9dd0007e26c0ccc18)
-set(qttranslations_REF 2d30ad16d90abfc0806d28e3504348df84b1e62b)
-set(qtwayland_REF 501c287f34a66ec89e3e49da218feb4bc69c9c5e)
-set(qtdoc_REF 13fa00e32307bae90884a608880a542f6ed90646)
-set(qtimageformats_REF 8d6e8efc1afbd5e9cf793fbf0507e1d332c45d1f)
-set(qtmqtt_REF a6213a104f65dccb13508b58b0f07a249d9922c8)
-set(qtquickcontrols2_REF 6d62c0677d60e42a19bb72d641129933770f7723)
-set(qtnetworkauth_REF 7ce9e47b469141f9bace9661d07999dcc120e7f6)
-set(qtcoap_REF 83b5b7e8e2c6afa9d5ab69123c40993c48b30970)
-set(qtopcua_REF bda48fd7729fb65a7504a1bada496489ee15d245)
-set(qtactiveqt_REF 32cad4a02f78205e85490f6b8cbde82ecb1b5f2f)
-set(qtdatavis3d_REF 8d6c15fa8daa68a4d48368b8ceb8c517e973eac7)
+set(qtbase_REF 0c2d00de3488116db9f9d657fe18bcb972a83792)
+set(qtshadertools_REF 119cd6e9c9e89f93b74db28f261382a2fcfe504e)
+set(qtdeclarative_REF 37da36c97d9d557945abca3cea5c68d9985a06e3)
+set(qt5compat_REF 291993c7813ec706e54069c7de339edfdd385c0d)
+set(qttools_REF 00efbf90f978afefdcece314d19b79459eee2211) # Additional refs in portfile due to submodule
+set(qtcoap_REF be7822dc920a3e3eb252d5693a7153aa606d3dc1)
+set(qtdoc_REF 48a1fbab30a9f57f011fdea8ec2b47048dce4069)
+set(qtimageformats_REF 7bb9dc839c0dd0806445fd475b027a82c961f686)
+set(qtmqtt_REF 4fd647e23d95c522c45d86be584d18578f894823)
+set(qtnetworkauth_REF aa23db40ca552d60383dea17d703b1cc0cbeace4)
+set(qtopcua_REF cfb3767b2a6785e0437b99c015cb6aef7f40189c)
+set(qtquicktimeline_REF e9578a6949f6192440df1cb261ed9de98a9de7d7)
+set(qtquick3d_REF eaf9c60073b95b03c006279f08d4947699c32a4b)
+set(qtsvg_REF cceecea040ca1247db0212217d07ec2c331004ba)
+set(qttranslations_REF 03a146236e69ee41c0405a8b5707104b4ac0c6e8)
+set(qtwayland_REF 8c4900dda393752faab14e39e60aec6b545c8a0f)
+# set(qtquickcontrols2_REF 0) # Moved into qtdeclarative since Qt 6.2
+### New in 6.1
+set(qtactiveqt_REF 94c924a8501dba7487bf2648bdf06aefc33e726d)
+set(qtcharts_REF d56b9f3de193cbf561f4b1ec332d8598dbdaaaca)
+set(qtdatavis3d_REF 5c90e6642882b3b7440608f71b96ce28908f0ee8)
#set(qtdeviceutils_REF 0) #missing tag
-set(qtlottie_REF 266531117ba6646893d3806566144aff19d5e309)
-set(qtscxml_REF aa27d28e302f3529940172ab2782c2d7e28fb532)
-set(qtvirtualkeyboard_REF eb26e2af30e6cbb2c4b9224d8e9f489f198c82f0)
-set(qtcharts_REF 3e0d6ffa572efe8a09774ac6c6263b6df5eaf718)
+set(qtlottie_REF 48df4f1067514a3ae8b895b5f78fca09029d9288)
+set(qtscxml_REF 68ac6986b9a9b3acfcab1e445edc7c198bbf7344)
+set(qtvirtualkeyboard_REF 0e49e057777cd6c3f93d123e59a9399a2cf0040f)
+### New in 6.2
+set(qtconnectivity_REF 78e7ffbe16469a19fa34cad711e0898d91bd2f30)
+set(qtlocation_REF 47a945b0d054539eab3ba1cf3a1d7bf5977051d6)
+set(qtmultimedia_REF d7d0e676abd4b280feb0d5105846378b64782487)
+set(qtremoteobjects_REF 58932ba10420faa1cc989ed5bf101ff06475a4fc)
+set(qtsensors_REF 192ca0fd252066101eb0456b957fdb51618fa7db)
+set(qtserialbus_REF ce089bef29ca55d7fe46508d92d3e498eb5bb847)
+set(qtserialport_REF 14dc155f3640af94c6ecff2de1489e14cd5b0047)
+set(qtwebchannel_REF 09315a8d626e106953723ce68e68d6b4b97c2c52)
+set(qtwebengine_REF 261d72c8afc72faf23d169a64749db216db68859) # Additional refs in portfile due to submodule
+set(qtwebsockets_REF a01c2d6638fad700db23863258b7fc4a1ecdd542)
+set(qtwebview_REF ca0053b6a5320046508e9ba205df775a62c1a211)
if(QT_UPDATE_VERSION)
message(STATUS "Running Qt in automatic version port update mode!")
set(_VCPKG_INTERNAL_NO_HASH_CHECK 1)
if("${PORT}" MATCHES "qtbase")
+ file(REMOVE "${CMAKE_CURRENT_LIST_DIR}/cmake/qt_new_refs.cmake")
foreach(_current_qt_port IN LISTS QT_PORTS)
set(_current_control "${VCPKG_ROOT_DIR}/ports/${_current_qt_port}/vcpkg.json")
file(READ "${_current_control}" _control_contents)
string(REGEX REPLACE "\"version-(string|semver)\": [^\n]+\n" "\"version-semver\": \"${QT_VERSION}\",\n" _control_contents "${_control_contents}")
+ string(REGEX REPLACE "\"port-version\": [^\n]+\n" "" _control_contents "${_control_contents}")
file(WRITE "${_current_control}" "${_control_contents}")
#need to run a vcpkg format-manifest --all after update once
endforeach()
diff --git a/ports/qtbase/fix_cmake_build.patch b/ports/qtbase/fix_cmake_build.patch
new file mode 100644
index 000000000..65410e3fc
--- /dev/null
+++ b/ports/qtbase/fix_cmake_build.patch
@@ -0,0 +1,15 @@
+diff --git a/cmake/QtBuildInternalsExtra.cmake.in b/cmake/QtBuildInternalsExtra.cmake.in
+index ffc9d90f8..0b3a7d59e 100644
+--- a/cmake/QtBuildInternalsExtra.cmake.in
++++ b/cmake/QtBuildInternalsExtra.cmake.in
+@@ -51,8 +51,8 @@ endif()
+ set(QT_WILL_INSTALL @QT_WILL_INSTALL@ CACHE BOOL
+ "Boolean indicating if doing a Qt prefix build (vs non-prefix build)." FORCE)
+
+-set(QT_SOURCE_TREE "@QT_SOURCE_TREE@" CACHE PATH
+-"A path to the source tree of the previously configured QtBase project." FORCE)
++# set(QT_SOURCE_TREE "@QT_SOURCE_TREE@" CACHE PATH
++# "A path to the source tree of the previously configured QtBase project." FORCE)
+
+ # Propagate decision of building tests and examples to other repositories.
+ set(QT_BUILD_TESTS @QT_BUILD_TESTS@ CACHE BOOL "Build the testing tree.")
diff --git a/ports/qtbase/fix_egl.patch b/ports/qtbase/fix_egl.patch
new file mode 100644
index 000000000..786831068
--- /dev/null
+++ b/ports/qtbase/fix_egl.patch
@@ -0,0 +1,12 @@
+diff --git a/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake b/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake
+index eafbc1ff9..dd4068838 100644
+--- a/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake
++++ b/cmake/3rdparty/extra-cmake-modules/find-modules/FindEGL.cmake
+@@ -82,6 +82,7 @@ find_path(EGL_INCLUDE_DIR
+ find_library(EGL_LIBRARY
+ NAMES
+ EGL
++ libEGL # required to find angle on windows within vcpkg.
+ HINTS
+ ${PKG_EGL_LIBRARY_DIRS}
+ )
diff --git a/ports/qtbase/fix_find_dep.patch b/ports/qtbase/fix_find_dep.patch
deleted file mode 100644
index 0414198a1..000000000
--- a/ports/qtbase/fix_find_dep.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 40c410aeb..c36084fb9 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -24,6 +24,8 @@ project(QtBase
- LANGUAGES CXX C ASM
- )
-
-+find_package(Threads REQUIRED)
-+set_property(TARGET Threads::Threads PROPERTY _qt_no_promote_global TRUE)
- # Make sure we only use latest private CMake API, aka no compatibility wrappers.
- set(QT_NO_INTERNAL_COMPATIBILITY_FUNCTIONS TRUE)
-
diff --git a/ports/qtbase/jpeg.patch b/ports/qtbase/jpeg.patch
deleted file mode 100644
index 1f2080561..000000000
--- a/ports/qtbase/jpeg.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/src/plugins/imageformats/jpeg/qjpeghandler.cpp b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
-index 29bf5ab58..1a3cfd2bf 100644
---- a/src/plugins/imageformats/jpeg/qjpeghandler.cpp
-+++ b/src/plugins/imageformats/jpeg/qjpeghandler.cpp
-@@ -63,12 +63,12 @@
- extern "C" {
- // jpeglib.h->jmorecfg.h tries to typedef int boolean; but this conflicts with
- // some Windows headers that may or may not have been included
--#ifdef HAVE_BOOLEAN
--# undef HAVE_BOOLEAN
--#endif
--#define boolean jboolean
-+//#ifdef HAVE_BOOLEAN
-+//# undef HAVE_BOOLEAN
-+//#endif
-+//#define boolean jboolean
-
--#define XMD_H // shut JPEGlib up
-+//#define XMD_H // shut JPEGlib up
- #include <jpeglib.h>
- #ifdef const
- # undef const // remove crazy C hackery in jconfig.h
diff --git a/ports/qtbase/portfile.cmake b/ports/qtbase/portfile.cmake
index 9d48e0ed5..60a247254 100644
--- a/ports/qtbase/portfile.cmake
+++ b/ports/qtbase/portfile.cmake
@@ -1,23 +1,27 @@
-set(QT_IS_LATEST OFF)
+# Reminder for myself and everybody else:
+# Qt cross module dependency information within the Qt respository is wrong and/or incomplete.
+# Always check the toplevel CMakeLists.txt for the find_package call and search for linkage against the Qt:: targets
+# Often enough certain (bigger) dependencies are only used to build examples and/or tests.
+# As such getting the correct dependency information relevant for vcpkg requires a manual search/check
+
+#set(QT_IS_LATEST ON)
## All above goes into the qt_port_hashes in the future
include("${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_submodule.cmake")
set(${PORT}_PATCHES
- jpeg.patch
- harfbuzz.patch
- config_install.patch
allow_outside_prefix.patch
- buildcmake.patch
- dont_force_cmakecache.patch
- fix_find_dep.patch
- 20b3eb0.diff # Upstream fix to build with clang-cl; didn't make 6.1.1 so I backported the patch.
clang-cl_source_location.patch
+ config_install.patch
+ dont_force_cmakecache.patch
+ fix_cmake_build.patch
+ harfbuzz.patch
+ fix_egl.patch
)
if(NOT VCPKG_USE_HEAD_VERSION AND NOT QT_IS_LATEST)
list(APPEND ${PORT}_PATCHES
- )
+ )
endif()
if(VCPKG_TARGET_IS_WINDOWS AND NOT "doubleconversion" IN_LIST FEATURES)
@@ -58,6 +62,8 @@ FEATURES
"zstd" FEATURE_zstd
"framework" FEATURE_framework
"concurrent" FEATURE_concurrent
+ "concurrent" FEATURE_future
+ "concurrent" FEATURE_thread
"dbus" FEATURE_dbus
"gui" FEATURE_gui
"network" FEATURE_network
@@ -87,13 +93,11 @@ INVERTED_FEATURES
"glib" CMAKE_DISABLE_FIND_PACKAGE_GLIB2
)
-#list(APPEND FEATURE_CORE_OPTIONS -DFEATURE_doubleconversion:BOOL=ON)
list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_LTTngUST:BOOL=ON)
list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_PPS:BOOL=ON)
list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Slog2:BOOL=ON)
list(APPEND FEATURE_CORE_OPTIONS -DCMAKE_DISABLE_FIND_PACKAGE_Libsystemd:BOOL=ON)
-
# Network features:
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_NET_OPTIONS
FEATURES
@@ -205,6 +209,8 @@ set(TOOL_NAMES
rcc
tracegen
uic
+ qtpaths
+ qtpaths6
)
qt_install_submodule(PATCHES ${${PORT}_PATCHES}
@@ -255,12 +261,13 @@ file(COPY
qt_stop_on_update()
set(script_files qt-cmake qt-cmake-private qt-cmake-standalone-test qt-configure-module qt-internal-configure-tests)
-if(VCPKG_TARGET_IS_WINDOWS)
+if(CMAKE_HOST_WIN32)
set(script_suffix .bat)
else()
set(script_suffix)
endif()
set(other_files
+ target_qt.conf
qt-cmake-private-install.cmake
syncqt.pl
android_cmakelist_patcher.sh
@@ -297,8 +304,10 @@ foreach(_config debug release)
endforeach()
endforeach()
-
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ if(VCPKG_CROSSCOMPILING)
+ file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/qmake" "${CURRENT_PACKAGES_DIR}/debug/bin/qmake") # qmake has been moved so this is the qmake helper script
+ endif()
file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*")
if(NOT _bin_files) # Only clean if empty otherwise let vcpkg throw and error.
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/" "${CURRENT_PACKAGES_DIR}/debug/bin/")
diff --git a/ports/qtbase/vcpkg.json b/ports/qtbase/vcpkg.json
index 72b43da68..876f3f43f 100644
--- a/ports/qtbase/vcpkg.json
+++ b/ports/qtbase/vcpkg.json
@@ -1,6 +1,6 @@
{
"name": "qtbase",
- "version-semver": "6.1.3",
+ "version-semver": "6.2.0",
"description": "Qt Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.",
"homepage": "https://www.qt.io/",
"dependencies": [