mirror of
https://github.com/Kitware/CMake.git
synced 2026-01-23 23:18:38 -06:00
Utilities/Release: Update to Qt 6.10.1 on Windows builds
Now that we require Windows 10 for our official binaries, we can use a more recent version of Qt.
This commit is contained in:
@@ -9,5 +9,7 @@ set(CMAKE_C_FLAGS "-D_WIN32_WINNT=0x0A00 -DNTDDI_VERSION=0x0A000000" CACHE STRIN
|
||||
set(CMAKE_CXX_FLAGS "-GR -EHsc -D_WIN32_WINNT=0x0A00 -DNTDDI_VERSION=0x0A000000" CACHE STRING "")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-machine:x86 -subsystem:console,6.02" CACHE STRING "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_package_common_x86.cmake")
|
||||
set(qt "$ENV{CI_PROJECT_DIR}/.gitlab/qt")
|
||||
set(CMAKE_PREFIX_PATH "${qt}" CACHE STRING "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_package_common.cmake")
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
set(qt "$ENV{CI_PROJECT_DIR}/.gitlab/qt")
|
||||
set(CMake_QT_STATIC_QWindowsIntegrationPlugin_LIBRARIES
|
||||
${qt}/plugins/platforms/qwindows.lib
|
||||
${qt}/plugins/styles/qwindowsvistastyle.lib
|
||||
${qt}/lib/Qt5EventDispatcherSupport.lib
|
||||
${qt}/lib/Qt5FontDatabaseSupport.lib
|
||||
${qt}/lib/Qt5ThemeSupport.lib
|
||||
${qt}/lib/qtfreetype.lib
|
||||
${qt}/lib/qtlibpng.lib
|
||||
imm32.lib
|
||||
wtsapi32.lib
|
||||
CACHE STRING "")
|
||||
set(CMAKE_PREFIX_PATH "${qt}" CACHE STRING "")
|
||||
@@ -9,5 +9,7 @@ set(CMAKE_C_FLAGS "-D_WIN32_WINNT=0x0A00 -DNTDDI_VERSION=0x0A000000" CACHE STRIN
|
||||
set(CMAKE_CXX_FLAGS "-GR -EHsc -D_WIN32_WINNT=0x0A00 -DNTDDI_VERSION=0x0A000000" CACHE STRING "")
|
||||
set(CMAKE_EXE_LINKER_FLAGS "-machine:x64 -subsystem:console,6.02" CACHE STRING "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_package_common_x86.cmake")
|
||||
set(qt "$ENV{CI_PROJECT_DIR}/.gitlab/qt")
|
||||
set(CMAKE_PREFIX_PATH "${qt}" CACHE STRING "")
|
||||
|
||||
include("${CMAKE_CURRENT_LIST_DIR}/configure_windows_package_common.cmake")
|
||||
|
||||
@@ -17,16 +17,16 @@ if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "windows.*package")
|
||||
set(qt_url_root "https://cmake.org/files/dependencies/qt")
|
||||
set(qt_url_path "")
|
||||
if ("$ENV{CMAKE_CONFIGURATION}" MATCHES "windows_x86_64_package")
|
||||
list(APPEND qt_files "qt-5.15.10-win-x86_64-msvc_v142-1.zip")
|
||||
set(qt_subdir "qt-5.15.10-win-x86_64-msvc_v142-1")
|
||||
list(APPEND qt_files "qt-6.10.1-win-x86_64-msvc_v145-1.zip")
|
||||
set(qt_subdir "qt-6.10.1-win-x86_64-msvc_v145-1")
|
||||
elseif ("$ENV{CMAKE_CONFIGURATION}" MATCHES "windows_i386_package")
|
||||
list(APPEND qt_files "qt-5.15.10-win-i386-msvc_v142-1.zip")
|
||||
set(qt_subdir "qt-5.15.10-win-i386-msvc_v142-1")
|
||||
list(APPEND qt_files "qt-6.10.1-win-i386-msvc_v145-1.zip")
|
||||
set(qt_subdir "qt-6.10.1-win-i386-msvc_v145-1")
|
||||
elseif ("$ENV{CMAKE_CONFIGURATION}" MATCHES "windows_arm64_package")
|
||||
list(APPEND qt_files "qt-6.3.0-win-arm64-msvc_v143-1.zip")
|
||||
set(qt_subdir "qt-6.3.0-win-arm64-msvc_v143-1")
|
||||
list(APPEND qt_files "qt-6.3.0-win-x86_64-msvc_v143-1.zip")
|
||||
set(qt_host_subdir "qt-6.3.0-win-x86_64-msvc_v143-1")
|
||||
list(APPEND qt_files "qt-6.10.1-win-arm64-msvc_v145-1.zip")
|
||||
set(qt_subdir "qt-6.10.1-win-arm64-msvc_v145-1")
|
||||
list(APPEND qt_files "qt-6.10.1-win-x86_64-msvc_v145-1.zip")
|
||||
set(qt_host_subdir "qt-6.10.1-win-x86_64-msvc_v145-1")
|
||||
else ()
|
||||
message(FATAL_ERROR "Unknown arch to use for Qt")
|
||||
endif()
|
||||
|
||||
@@ -13,9 +13,6 @@ set("5.15.1-0-202009071110qtbase-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_6
|
||||
set("qt-5.9.9-macosx10.10-x86_64-arm64.tar.xz_hash" d4449771afa0bc6a809c14f1e6d939e7732494cf059503ae451e2bfe8fc60cc1)
|
||||
set("6.9.3-0-202509261207qtbase-MacOS-MacOS_15-Clang-MacOS-MacOS_15-X86_64-ARM64.7z_hash" 805144e619b7c7b0e9c985d929e1f290241d88b884218db3ad7d56bd579d6b4a)
|
||||
|
||||
set("qt-5.15.10-win-i386-msvc_v142-1.zip_hash" c158cebc054d3f4f09733772a8a04789e2884912d45782e8c0c5e6a0b2773e92)
|
||||
set("qt-5.15.10-win-x86_64-msvc_v142-1.zip_hash" d55c017aef359f6aa8c592b18ba13cc120c749417b55671548970690126cd139)
|
||||
|
||||
set("qt-6.3.0-win-arm64-msvc_v143-1.zip_hash" f794c035fd4ff9f04468e1787a60d93d7496119c0060c3173a76d24a6b551b14)
|
||||
set("qt-6.3.0-win-i386-msvc_v143-1.zip_hash" 972bc707f78d11b44f360643ca4d0c898e761f7add43b96117d958c70d84a443)
|
||||
set("qt-6.3.0-win-x86_64-msvc_v143-1.zip_hash" 4fb0aaebe184f40392f1bb246469dca591bfdfb8f915e19f921476222473ac90)
|
||||
set("qt-6.10.1-win-arm64-msvc_v145-1.zip_hash" 59e150883f31c0e31a2890f06b6e434ad44505dba876fda4a7c0994c9b0bdfe1)
|
||||
set("qt-6.10.1-win-i386-msvc_v145-1.zip_hash" 09100628aecb7cdde07040d7437c09830ed8c17720960b10339b114cb4bbf18b)
|
||||
set("qt-6.10.1-win-x86_64-msvc_v145-1.zip_hash" 931f2354c715b30bc0ac35028f9d778aa552aa8a66580fc73c6a32384c5fa042)
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
diff --git a/lib/cmake/Qt5Core/Qt5CoreConfig.cmake b/lib/cmake/Qt5Core/Qt5CoreConfig.cmake
|
||||
index 5bad1af..25bf3e3 100644
|
||||
--- a/lib/cmake/Qt5Core/Qt5CoreConfig.cmake
|
||||
+++ b/lib/cmake/Qt5Core/Qt5CoreConfig.cmake
|
||||
@@ -264,7 +264,7 @@ if (NOT TARGET Qt5::Core)
|
||||
return()
|
||||
endif()
|
||||
|
||||
- set(_Qt5Core_LIB_DEPENDENCIES "")
|
||||
+ set(_Qt5Core_LIB_DEPENDENCIES "${_qt5Core_install_prefix}/lib/qtpcre2.lib;netapi32.lib;version.lib")
|
||||
|
||||
|
||||
if(NOT Qt5_EXCLUDE_STATIC_DEPENDENCIES)
|
||||
diff --git a/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake b/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake
|
||||
index d9966ad..308e4cb 100644
|
||||
--- a/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake
|
||||
+++ b/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake
|
||||
@@ -264,7 +264,7 @@ if (NOT TARGET Qt5::Widgets)
|
||||
return()
|
||||
endif()
|
||||
|
||||
- set(_Qt5Widgets_LIB_DEPENDENCIES "Qt5::Gui;Qt5::Core")
|
||||
+ set(_Qt5Widgets_LIB_DEPENDENCIES "Qt5::Gui;Qt5::Core;dwmapi.lib;uxtheme.lib")
|
||||
|
||||
|
||||
if(NOT Qt5_EXCLUDE_STATIC_DEPENDENCIES)
|
||||
@@ -1,121 +0,0 @@
|
||||
# Distributed under the OSI-approved BSD 3-Clause License. See accompanying
|
||||
# file LICENSE.rst or https://cmake.org/licensing for details.
|
||||
|
||||
# Run this script on a Windows host to generate Qt binaries.
|
||||
# Set the PATH environment variable to contain the locations of cmake and git.
|
||||
|
||||
param (
|
||||
[string]$cmake = 'cmake',
|
||||
[string]$git = 'git',
|
||||
[switch]$trace
|
||||
)
|
||||
|
||||
if ($trace -eq $true) {
|
||||
Set-PSDebug -Trace 1
|
||||
}
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
$ProgressPreference = 'SilentlyContinue'
|
||||
|
||||
if ($env:VSCMD_ARG_TGT_ARCH -eq "x64") {
|
||||
$arch = "x86_64";
|
||||
} elseif ($env:VSCMD_ARG_TGT_ARCH -eq "x86") {
|
||||
$arch = "i386";
|
||||
} else {
|
||||
Write-Host "VSCMD_ARG_TGT_ARCH env var not recognized. Run this from a Visual Studio Command Prompt."
|
||||
exit 1
|
||||
}
|
||||
|
||||
if ($env:VCToolsVersion -match '^(?<version>[0-9][0-9]\.[0-9])') {
|
||||
$toolset = "msvc_v" + $Matches.version -replace '\.', ''
|
||||
} else {
|
||||
Write-Host "VCToolsVersion env var not set. Run this from a Visual Studio Command Prompt."
|
||||
}
|
||||
|
||||
$srcname = "qt-everywhere-src-5.15.10"
|
||||
$pkgname = "qt-5.15.10-win-$arch-$toolset-1"
|
||||
$topdir = $pwd.Path
|
||||
$srcdir = Join-Path $topdir $srcname
|
||||
$blddir = Join-Path $topdir "$pkgname-build"
|
||||
$prefix = Join-Path $topdir $pkgname
|
||||
|
||||
# JOM
|
||||
if ( -not (Test-Path -Path "jom")) {
|
||||
Invoke-WebRequest -Uri "http://download.qt-project.org/official_releases/jom/jom_1_1_4.zip" -OutFile jom.zip
|
||||
if ($(Get-FileHash "jom.zip").Hash -ne 'd533c1ef49214229681e90196ed2094691e8c4a0a0bef0b2c901debcb562682b') {
|
||||
Write-Host "jom hash does not match"
|
||||
exit 1
|
||||
}
|
||||
Expand-Archive -Path jom.zip -DestinationPath jom
|
||||
Remove-Item jom.zip
|
||||
}
|
||||
$jom = "$topdir\jom\jom.exe"
|
||||
|
||||
# Qt Source
|
||||
if ( -not (Test-Path -Path $srcdir)) {
|
||||
Invoke-WebRequest -Uri "https://download.qt.io/archive/qt/5.15/5.15.10/single/qt-everywhere-opensource-src-5.15.10.tar.xz" -OutFile qt.tar.xz
|
||||
if ($(Get-FileHash "qt.tar.xz").Hash -ne 'b545cb83c60934adc9a6bbd27e2af79e5013de77d46f5b9f5bb2a3c762bf55ca') {
|
||||
Write-Host "qt hash does not match"
|
||||
exit 1
|
||||
}
|
||||
& $cmake -E tar xvf qt.tar.xz
|
||||
Remove-Item qt.tar.xz
|
||||
}
|
||||
|
||||
# Build Qt
|
||||
if ( -not (Test-Path -Path $blddir)) {
|
||||
New-Item -ItemType Directory -Path $blddir
|
||||
Set-Location -Path "$blddir"
|
||||
& ..\$srcname\configure.bat `
|
||||
-prefix $prefix `
|
||||
-static `
|
||||
-static-runtime `
|
||||
-release `
|
||||
-opensource -confirm-license `
|
||||
-platform win32-msvc `
|
||||
-mp `
|
||||
-gui `
|
||||
-widgets `
|
||||
-qt-pcre `
|
||||
-qt-zlib `
|
||||
-qt-libpng `
|
||||
-qt-libjpeg `
|
||||
-no-gif `
|
||||
-no-icu `
|
||||
-no-pch `
|
||||
-no-angle `
|
||||
-no-opengl `
|
||||
-no-dbus `
|
||||
-no-harfbuzz `
|
||||
-no-accessibility `
|
||||
-skip declarative `
|
||||
-skip multimedia `
|
||||
-skip qtcanvas3d `
|
||||
-skip qtconnectivity `
|
||||
-skip qtdeclarative `
|
||||
-skip qtlocation `
|
||||
-skip qtmultimedia `
|
||||
-skip qtsensors `
|
||||
-skip qtserialbus `
|
||||
-skip qtserialport `
|
||||
-skip qtsvg `
|
||||
-skip qtwayland `
|
||||
-skip qtwebchannel `
|
||||
-skip qtwebengine `
|
||||
-skip qtwebsockets `
|
||||
-skip qtxmlpatterns `
|
||||
-nomake examples -nomake tests
|
||||
& $jom -J $env:NUMBER_OF_PROCESSORS
|
||||
}
|
||||
|
||||
# Install Qt
|
||||
if ( -not (Test-Path -Path $prefix)) {
|
||||
& $jom install
|
||||
# Patch the installation.
|
||||
Set-Location -Path $prefix
|
||||
& $git apply -v (Join-Path $PSScriptRoot qt-5.15.10-win-x86-msvc-install.patch)
|
||||
}
|
||||
|
||||
# Package Qt
|
||||
Set-Location -Path $topdir
|
||||
& $cmake -E tar cf "$pkgname.zip" "--format=zip" "$pkgname"
|
||||
@@ -23,30 +23,23 @@ else()
|
||||
return()
|
||||
endif()
|
||||
|
||||
set(srcname "qtbase-everywhere-src-6.3.0")
|
||||
set(pkgname "qt-6.3.0-win-${arch}-${toolset}-1")
|
||||
set(pkgname_host "qt-6.3.0-win-x86_64-${toolset}-1")
|
||||
set(srcname "qtbase-everywhere-src-6.10.1")
|
||||
set(pkgname "qt-6.10.1-win-${arch}-${toolset}-1")
|
||||
set(pkgname_host "qt-6.10.1-win-x86_64-${toolset}-1")
|
||||
set(topdir "${CMAKE_CURRENT_BINARY_DIR}")
|
||||
set(srcdir "${topdir}/${srcname}")
|
||||
set(blddir "${topdir}/${pkgname}-build")
|
||||
set(blddir "${topdir}/${pkgname}-b")
|
||||
set(prefix "${topdir}/${pkgname}")
|
||||
set(prefix_host "${topdir}/${pkgname_host}")
|
||||
|
||||
# Qt Source
|
||||
if (NOT EXISTS "${srcdir}")
|
||||
file(DOWNLOAD "https://download.qt.io/official_releases/qt/6.3/6.3.0/submodules/qtbase-everywhere-src-6.3.0.tar.xz" qt.tar.xz
|
||||
EXPECTED_HASH SHA256=b865aae43357f792b3b0a162899d9bf6a1393a55c4e5e4ede5316b157b1a0f99)
|
||||
file(DOWNLOAD "https://download.qt.io/official_releases/qt/6.10/6.10.1/submodules/qtbase-everywhere-src-6.10.1.tar.xz" qt.tar.xz
|
||||
EXPECTED_HASH SHA256=5a6226f7e23db51fdc3223121eba53f3f5447cf0cc4d6cb82a3a2df7a65d265d)
|
||||
file(ARCHIVE_EXTRACT INPUT qt.tar.xz)
|
||||
file(REMOVE qt.tar.xz)
|
||||
endif()
|
||||
|
||||
# Download and use LLVM's clang-cl to compiler for arm64
|
||||
if (arch STREQUAL "arm64" AND CMAKE_ARGV3 STREQUAL "clang-cl")
|
||||
set(ENV{PATH} "c:/Program Files/LLVM/bin;$ENV{PATH}")
|
||||
set(ENV{CC} "clang-cl --target=arm64-pc-windows-msvc")
|
||||
set(ENV{CXX} "clang-cl --target=arm64-pc-windows-msvc")
|
||||
endif()
|
||||
|
||||
# Build Qt
|
||||
if (NOT EXISTS "${blddir}")
|
||||
file(MAKE_DIRECTORY "${blddir}")
|
||||
Reference in New Issue
Block a user