diff --git a/.gitlab/ci/configure_windows_i386_package.cmake b/.gitlab/ci/configure_windows_i386_package.cmake index a35aebcedc..650a898eb7 100644 --- a/.gitlab/ci/configure_windows_i386_package.cmake +++ b/.gitlab/ci/configure_windows_i386_package.cmake @@ -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") diff --git a/.gitlab/ci/configure_windows_package_common_x86.cmake b/.gitlab/ci/configure_windows_package_common_x86.cmake deleted file mode 100644 index a8b59283bd..0000000000 --- a/.gitlab/ci/configure_windows_package_common_x86.cmake +++ /dev/null @@ -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 "") diff --git a/.gitlab/ci/configure_windows_x86_64_package.cmake b/.gitlab/ci/configure_windows_x86_64_package.cmake index cbad121d79..b61e199bec 100644 --- a/.gitlab/ci/configure_windows_x86_64_package.cmake +++ b/.gitlab/ci/configure_windows_x86_64_package.cmake @@ -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") diff --git a/.gitlab/ci/download_qt.cmake b/.gitlab/ci/download_qt.cmake index cda45a3cce..418a1899df 100644 --- a/.gitlab/ci/download_qt.cmake +++ b/.gitlab/ci/download_qt.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() diff --git a/.gitlab/ci/download_qt_hashes.cmake b/.gitlab/ci/download_qt_hashes.cmake index e5448079ee..6275954155 100644 --- a/.gitlab/ci/download_qt_hashes.cmake +++ b/.gitlab/ci/download_qt_hashes.cmake @@ -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) diff --git a/Utilities/Release/win/qt-5.15.10-win-x86-msvc-install.patch b/Utilities/Release/win/qt-5.15.10-win-x86-msvc-install.patch deleted file mode 100644 index de31d52d59..0000000000 --- a/Utilities/Release/win/qt-5.15.10-win-x86-msvc-install.patch +++ /dev/null @@ -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) diff --git a/Utilities/Release/win/qt-5.15.10-win-x86-msvc.ps1 b/Utilities/Release/win/qt-5.15.10-win-x86-msvc.ps1 deleted file mode 100644 index 37e273427a..0000000000 --- a/Utilities/Release/win/qt-5.15.10-win-x86-msvc.ps1 +++ /dev/null @@ -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 '^(?[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" diff --git a/Utilities/Release/win/qtbase-6.3.0-win-msvc.cmake b/Utilities/Release/win/qtbase-6.10.1-win-msvc.cmake similarity index 79% rename from Utilities/Release/win/qtbase-6.3.0-win-msvc.cmake rename to Utilities/Release/win/qtbase-6.10.1-win-msvc.cmake index a895ca1ebf..ac85a0c9cc 100644 --- a/Utilities/Release/win/qtbase-6.3.0-win-msvc.cmake +++ b/Utilities/Release/win/qtbase-6.10.1-win-msvc.cmake @@ -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}")