Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Qt6] update to 6.3.0 #23015

Merged
merged 26 commits into from
Apr 21, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.2.4",
"version": "6.3.0",
"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.2.4",
"version": "6.3.0",
"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.2.4",
"version": "6.3.0",
"description": "ActiveQt",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
2 changes: 1 addition & 1 deletion ports/qtapplicationmanager/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtapplicationmanager",
"version": "6.2.4",
"version": "6.3.0",
"description": "Qt component for application lifecycle management",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
17 changes: 14 additions & 3 deletions ports/qtbase/cmake/qt_install_submodule.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ function(qt_cmake_configure)
vcpkg_find_acquire_program(PERL) # Perl is probably required by all qt ports for syncqt
get_filename_component(PERL_PATH ${PERL} DIRECTORY)
vcpkg_add_to_path(${PERL_PATH})
if(NOT PORT STREQUAL "qtwebengine") # qtwebengine requires python2
if(NOT PORT STREQUAL "qtwebengine" OR QT_IS_LATEST) # qtwebengine requires python2; since 6.3 python3
vcpkg_find_acquire_program(PYTHON3) # Python is required by some qt ports
get_filename_component(PYTHON3_PATH ${PYTHON3} DIRECTORY)
vcpkg_add_to_path(${PYTHON3_PATH})
Expand Down Expand Up @@ -99,6 +99,14 @@ 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()

if(NOT PORT MATCHES "qtbase")
list(APPEND _qarg_OPTIONS "-DQT_MKSPECS_DIR:PATH=${CURRENT_HOST_INSTALLED_DIR}/share/Qt6/mkspecs")
endif()

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
${ninja_option}
Expand Down Expand Up @@ -144,6 +152,7 @@ function(qt_cmake_configure)
INSTALL_INCLUDEDIR
HOST_PERL
QT_SYNCQT
QT_NO_FORCE_SET_CMAKE_BUILD_TYPE
${_qarg_OPTIONS_MAYBE_UNUSED}
)
set(Z_VCPKG_CMAKE_GENERATOR "${Z_VCPKG_CMAKE_GENERATOR}" PARENT_SCOPE)
Expand Down Expand Up @@ -256,12 +265,14 @@ function(qt_fixup_and_cleanup)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/lib/cmake/"
"${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/lib/cmake/"
"${CURRENT_PACKAGES_DIR}/debug/include"
)

if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(GLOB_RECURSE _bin_files "${CURRENT_PACKAGES_DIR}/bin/*")
debug_message("Files in bin: '${_bin_files}'")
if(NOT _bin_files) # Only clean if empty otherwise let vcpkg throw and error.
if(NOT _bin_files STREQUAL "")
message(STATUS "Remaining files in bin: '${_bin_files}'")
else() # Only clean if empty otherwise let vcpkg throw and error.
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin/" "${CURRENT_PACKAGES_DIR}/debug/bin/")
endif()
endif()
Expand Down
102 changes: 63 additions & 39 deletions ports/qtbase/cmake/qt_port_details-latest.cmake
Original file line number Diff line number Diff line change
@@ -1,18 +1,29 @@
set(QT_VERSION 6.2.0)
set(QT_VERSION 6.3.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})

### Setting up the git tag.
set(QT_FETCH_REF "")
set(QT_GIT_TAG "v${QT_VERSION}")
if(PORT MATCHES "qtdeviceutilities")
set(QT_FETCH_REF FETCH_REF "6.3.0")
set(QT_GIT_TAG "6.3.0")
endif()
if(PORT MATCHES "qtlocation")
set(QT_FETCH_REF FETCH_REF "${QT_VERSION}")
set(QT_GIT_TAG "${QT_VERSION}")
endif()

set(QT_IS_LATEST TRUE)
#set(QT_UPDATE_VERSION TRUE)
if(QT_UPDATE_VERSION)
function(vcpkg_extract_source_archive)
endfunction()
endif()
set(QT_IS_LATEST 1)

set(QT_PORTS qt
qtbase
Expand All @@ -35,13 +46,14 @@ set(QT_PORTS qt
## New in 6.1
qtactiveqt
qtdatavis3d
#qtdeviceutils
qtdeviceutilities
qtlottie
qtscxml
qtvirtualkeyboard
qtcharts
## New in 6.2
qtconnectivity
qtpositioning
qtlocation
qtmultimedia
qtremoteobjects
Expand All @@ -52,48 +64,60 @@ set(QT_PORTS qt
qtwebengine
qtwebsockets
qtwebview
## New in 6.2.2
qtinterfaceframework
qtapplicationmanager
)

foreach(_port IN LISTS QT_PORTS)
set(${_port}_TAG ${QT_GIT_TAG})
endforeach()
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
set(qtbase_REF 0668a36d2804b300010d874f5ff4073c25c2784c)
set(qtshadertools_REF e526e8ca88197d82996818db1f00e8a3e07bf584)
set(qtdeclarative_REF cbe89ee41aa219ce7e90143e3cf54283e580f7c1)
set(qt5compat_REF 32db676ab6854633512181b2c40950c98525c5ba)
set(qttools_REF a0a9cf1d1338b3e7f868bc0840e1e9a096c86dfa) # Additional refs below
set(qtcoap_REF 4453575b94836cf1cd52642eceb1d6f5d16b26a9)
set(qtdoc_REF d0da4d47f152dc50fb672bc5011b61a5bbb36f43)
set(qtimageformats_REF 45cfb044698df541ced53e3523799232599712a6)
set(qtmqtt_REF 3174dc30d2b37c74ea685d27ab0030c7392032c0)
set(qtnetworkauth_REF 507214965cbcebbbd563904d615cf7ebc464cc48)
set(qtopcua_REF 2c7051d85f640e9afe6c3f8f718bb2152305467c)
set(qtquicktimeline_REF 16bc2eb9f5e84923dc04c3941f5347cbc1b0e5b0)
set(qtquick3d_REF bf912a678898dcde61f139f63b49e1e42717fa8d)
set(qtsvg_REF cf900932886ebdd3de6c3a4a7e63cf363663eb87)
set(qttranslations_REF 19701f38b9dc10d925c6974833d693b5038e1589)
set(qtwayland_REF 840673bf1849595869873bad15c52a312e849ffb)
### 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 48df4f1067514a3ae8b895b5f78fca09029d9288)
set(qtscxml_REF 68ac6986b9a9b3acfcab1e445edc7c198bbf7344)
set(qtvirtualkeyboard_REF 0e49e057777cd6c3f93d123e59a9399a2cf0040f)
set(qtactiveqt_REF 747fdd27c413ea42fb730230331984f388d3826b)
set(qtcharts_REF 03929b43d8e2a5c9b1487fdc6b8a2b067ada16f8)
set(qtdatavis3d_REF 137ebda0932e6faf0fbd61b0beb3cfb4dac8efbd)
set(qtdeviceutilities_REF 0520d7fd121f7773d04a7d3318553ff7fed1b3a9) #
set(qtlottie_REF e68bf89fefd941a930c83e2c29b629fcfea03eb3)
set(qtscxml_REF 4f52a1b6e4f25f3473f42ce249c4c183c5910183)
set(qtvirtualkeyboard_REF 92aee38dab196e8b5ca436f9f20c0fc66d8155d5)
### 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)
set(qtconnectivity_REF f62954bad729f7853c9fbe2ea0b3235cfae2701a)
set(qtmultimedia_REF 3d2dafab1eb60c17a30cf03213cd2f6f71185137)
set(qtremoteobjects_REF 2c53bf0e9262a24f8fc8553e5004e7d00bc7e556)
set(qtserialport_REF 7e44935b14b783add342a25f426fcdf299279024)
set(qtsensors_REF 3222894c246076c6e7bd151e638ce3eb4ce5c16b)
set(qtserialbus_REF 3ee1694d2a8fb0b755adce4b59001b784e9c301e)
set(qtlocation_REF 0) # Currently empty port
set(qtwebchannel_REF a85e05069a2b17ceb5b6332671a2eef261ec783f)
set(qtwebengine_REF 9158e7652f24800b2b7dbe59b7834687bc1baf13) # Additional refs below
set(qtwebsockets_REF 487116c9a85d8f5a920f47045dfce0b0defd5139)
set(qtwebview_REF d7498a108c67b21c39d8ba775330cc122ce21c1a)
set(qtpositioning_REF f61d2f336892b85cdcd5d508bb4a0db7f768d439)
### New in Qt 6.2.2
set(qtapplicationmanager_REF 68464eb2b3fa89c69cfc5fc4f19450af61116dd2) #
set(qtinterfaceframework_REF 7ddeb99d6215a4b63102d6a5bc73e50d77ddb3d7) #

#Submodule stuff:
set(qttools_qlitehtml_REF 4931b7aa30f256c20573d283561aa432fecf8f38)
set(qttools_litehtml_REF 6236113734bb0a28467e5999e86fdd2834be8e01)
set(qttools_litehtml_HASH 38effe92aaebd7113ad3bf3b70c1b3564d6226a766aa968c80ab35fa90ae78d601486226f97d16fa5bd3abf314db19f9f0c90e31de91e87bda82cde27f0a57dc)
set(qtwebengine_chromium_REF 2c9916de251f15369fa0f0c6bd3f45f5cf1a6f06)

if(QT_UPDATE_VERSION)
message(STATUS "Running Qt in automatic version port update mode!")
Expand Down
13 changes: 13 additions & 0 deletions ports/qtbase/dont_force_cmakecache_latest.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/cmake/QtPostProcessHelpers.cmake b/cmake/QtPostProcessHelpers.cmake
index 4f8106dfa..bec5c402e 100644
--- a/cmake/QtPostProcessHelpers.cmake
+++ b/cmake/QtPostProcessHelpers.cmake
@@ -414,7 +414,7 @@ function(qt_generate_install_prefixes out_var)

foreach(var ${vars})
get_property(docstring CACHE "${var}" PROPERTY HELPSTRING)
- string(APPEND content "set(${var} \"${${var}}\" CACHE STRING \"${docstring}\" FORCE)\n")
+ string(APPEND content "set(${var} \"${${var}}\" CACHE STRING \"${docstring}\")\n")
endforeach()

set(${out_var} "${content}" PARENT_SCOPE)
16 changes: 12 additions & 4 deletions ports/qtbase/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
# 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)
set(QT_IS_LATEST ON)
if("latest" IN_LIST FEATURES)
set(QT_IS_LATEST ON)
endif()

## All above goes into the qt_port_hashes in the future
include("${CMAKE_CURRENT_LIST_DIR}/cmake/qt_install_submodule.cmake")
Expand All @@ -13,7 +15,6 @@ set(${PORT}_PATCHES
allow_outside_prefix.patch
clang-cl_source_location.patch
config_install.patch
dont_force_cmakecache.patch
fix_cmake_build.patch
harfbuzz.patch
fix_egl.patch
Expand All @@ -24,7 +25,12 @@ if(VCPKG_TARGET_IS_WINDOWS AND NOT VCPKG_TARGET_IS_MINGW)
endif()

if(NOT VCPKG_USE_HEAD_VERSION AND NOT QT_IS_LATEST)
list(APPEND ${PORT}_PATCHES
list(APPEND ${PORT}_PATCHES
dont_force_cmakecache.patch
)
else()
list(APPEND ${PORT}_PATCHES
dont_force_cmakecache_latest.patch
)
endif()

Expand Down Expand Up @@ -246,6 +252,8 @@ set(TOOL_NAMES
uic
qtpaths
qtpaths6
windeployqt
macdeployqt
)

qt_install_submodule(PATCHES ${${PORT}_PATCHES}
Expand Down
2 changes: 1 addition & 1 deletion ports/qtbase/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtbase",
"version": "6.2.4",
"version": "6.3.0",
"description": "Qt Application Framework Base Module. Includes Core, GUI, Widgets, Networking, SQL, Concurrent and other essential qt components.",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
2 changes: 1 addition & 1 deletion ports/qtcharts/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtcharts",
"version": "6.2.4",
"version": "6.3.0",
"description": "QtCharts module",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
2 changes: 1 addition & 1 deletion ports/qtcoap/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtcoap",
"version": "6.2.4",
"version": "6.3.0",
"description": "Qt CoAP client module",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
2 changes: 1 addition & 1 deletion ports/qtconnectivity/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtconnectivity",
"version": "6.2.4",
"version": "6.3.0",
"description": "Qt Connectivity",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
2 changes: 1 addition & 1 deletion ports/qtdatavis3d/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtdatavis3d",
"version": "6.2.4",
"version": "6.3.0",
"description": "Qt 3D data visualization framework",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
1 change: 1 addition & 0 deletions ports/qtdeclarative/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ include("${SCRIPT_PATH}/qt_install_submodule.cmake")
qmltime
qmltyperegistrar
qmldom
qmltc
)

qt_install_submodule(PATCHES ${${PORT}_PATCHES}
Expand Down
2 changes: 1 addition & 1 deletion ports/qtdeclarative/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtdeclarative",
"version": "6.2.4",
"version": "6.3.0",
"description": "Qt Declarative (Quick 2)",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
2 changes: 1 addition & 1 deletion ports/qtdeviceutilities/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtdeviceutilities",
"version": "6.2.4",
"version": "6.3.0",
"description": "Utils for Boot2Qt",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
2 changes: 1 addition & 1 deletion ports/qtdoc/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtdoc",
"version": "6.2.4",
"version": "6.3.0",
"description": "Qt Documentation",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
21 changes: 21 additions & 0 deletions ports/qtimageformats/no_target_promotion_latest.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7fdd7ddbd..f189c472c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -9,6 +9,15 @@ project(QtImageFormats # special case
HOMEPAGE_URL "https://qt.io/"
LANGUAGES CXX C
)
-
+find_package(Threads)
+set_property(TARGET Threads::Threads PROPERTY _qt_no_promote_global TRUE)
+find_package(ZLIB)
+if(TARGET ZLIB::ZLIB)
+ set_property(TARGET ZLIB::ZLIB PROPERTY _qt_no_promote_global TRUE)
+endif()
+find_package(JPEG)
+if(TARGET JPEG::JPEG)
+ set_property(TARGET JPEG::JPEG PROPERTY _qt_no_promote_global TRUE)
+endif()
find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core) # special case
find_package(Qt6 ${PROJECT_VERSION} QUIET CONFIG OPTIONAL_COMPONENTS Gui) # special case
6 changes: 5 additions & 1 deletion ports/qtimageformats/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) # Only plugins
set(SCRIPT_PATH "${CURRENT_INSTALLED_DIR}/share/qtbase")
include("${SCRIPT_PATH}/qt_install_submodule.cmake")

set(${PORT}_PATCHES no_target_promotion.patch)
if(NOT VCPKG_USE_HEAD_VERSION AND NOT QT_IS_LATEST)
set(${PORT}_PATCHES no_target_promotion.patch)
else()
set(${PORT}_PATCHES no_target_promotion_latest.patch)
endif()

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
Expand Down
2 changes: 1 addition & 1 deletion ports/qtimageformats/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "qtimageformats",
"version": "6.2.4",
"version": "6.3.0",
"description": "Additional Image Format plugins for Qt",
"homepage": "https://www.qt.io/",
"license": null,
Expand Down
Loading