diff --git a/.github/workflows/scripts/linux/build-dependencies-qt.sh b/.github/workflows/scripts/linux/build-dependencies-qt.sh index 75aa07f5ce..5248fd2985 100755 --- a/.github/workflows/scripts/linux/build-dependencies-qt.sh +++ b/.github/workflows/scripts/linux/build-dependencies-qt.sh @@ -4,22 +4,22 @@ set -e INSTALLDIR="$HOME/deps" NPROCS="$(getconf _NPROCESSORS_ONLN)" -SDL=SDL2-2.28.2 -QT=6.5.2 +SDL=SDL2-2.28.4 +QT=6.6.0 LIBBACKTRACE=ad106d5fdd5d960bd33fae1c48a351af567fd075 mkdir -p deps-build cd deps-build cat > SHASUMS < SHASUMS <acceptMode() == QFileDialogOptions::AcceptSave) -- || [self panel:m_panel shouldEnableURL:url]; - - m_panel.directoryURL = [NSURL fileURLWithPath:m_currentDirectory]; -- m_panel.nameFieldStringValue = selectable ? info.fileName().toNSString() : @""; -+ m_panel.nameFieldStringValue = info.fileName().toNSString(); - -@@ -203,61 +201,2 @@ - return hidden; --} -- --- (BOOL)panel:(id)sender shouldEnableURL:(NSURL *)url --{ -- Q_UNUSED(sender); -- -- NSString *filename = url.path; -- if (!filename.length) -- return NO; -- -- // Always accept directories regardless of their names (unless it is a bundle): -- NSFileManager *fm = NSFileManager.defaultManager; -- NSDictionary *fileAttrs = [fm attributesOfItemAtPath:filename error:nil]; -- if (!fileAttrs) -- return NO; // Error accessing the file means 'no'. -- NSString *fileType = fileAttrs.fileType; -- bool isDir = [fileType isEqualToString:NSFileTypeDirectory]; -- if (isDir) { -- if (!m_panel.treatsFilePackagesAsDirectories) { -- if ([NSWorkspace.sharedWorkspace isFilePackageAtPath:filename] == NO) -- return YES; -- } -- } -- -- // Treat symbolic links and aliases to directories like directories -- QFileInfo fileInfo(QString::fromNSString(filename)); -- if (fileInfo.isSymLink() && QFileInfo(fileInfo.symLinkTarget()).isDir()) -- return YES; -- -- QString qtFileName = fileInfo.fileName(); -- // No filter means accept everything -- bool nameMatches = m_selectedNameFilter->isEmpty(); -- // Check if the current file name filter accepts the file: -- for (int i = 0; !nameMatches && i < m_selectedNameFilter->size(); ++i) { -- if (QDir::match(m_selectedNameFilter->at(i), qtFileName)) -- nameMatches = true; -- } -- if (!nameMatches) -- return NO; -- -- QDir::Filters filter = m_options->filter(); -- if ((!(filter & (QDir::Dirs | QDir::AllDirs)) && isDir) -- || (!(filter & QDir::Files) && [fileType isEqualToString:NSFileTypeRegular]) -- || ((filter & QDir::NoSymLinks) && [fileType isEqualToString:NSFileTypeSymbolicLink])) -- return NO; -- -- bool filterPermissions = ((filter & QDir::PermissionMask) -- && (filter & QDir::PermissionMask) != QDir::PermissionMask); -- if (filterPermissions) { -- if ((!(filter & QDir::Readable) && [fm isReadableFileAtPath:filename]) -- || (!(filter & QDir::Writable) && [fm isWritableFileAtPath:filename]) -- || (!(filter & QDir::Executable) && [fm isExecutableFileAtPath:filename])) -- return NO; -- } -- if (!(filter & QDir::Hidden) -- && (qtFileName.startsWith(u'.') || [self isHiddenFileAtURL:url])) -- return NO; -- -- return YES; - } -@@ -406,5 +345,2 @@ - { -- if (m_options->acceptMode() != QFileDialogOptions::AcceptSave) -- return nil; // panel:shouldEnableURL: does the file filtering for NSOpenPanel -- - QStringList fileTypes; -EOF cmake -B build -DCMAKE_PREFIX_PATH="$INSTALLDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLDIR" -DCMAKE_BUILD_TYPE=Release -DFEATURE_optimize_size=ON -DFEATURE_dbus=OFF -DFEATURE_framework=OFF -DFEATURE_icu=OFF -DFEATURE_opengl=OFF -DFEATURE_printsupport=OFF -DFEATURE_sql=OFF -DFEATURE_gssapi=OFF make -C build "-j$NPROCS" make -C build install diff --git a/.github/workflows/scripts/windows/build-dependencies.bat b/.github/workflows/scripts/windows/build-dependencies.bat index e51f1b3996..a0b38143e2 100644 --- a/.github/workflows/scripts/windows/build-dependencies.bat +++ b/.github/workflows/scripts/windows/build-dependencies.bat @@ -37,18 +37,16 @@ echo INSTALLDIR=%INSTALLDIR% cd "%BUILDDIR%" -set QT=6.5.2 -set QTMINOR=6.5 -set SDL=SDL2-2.28.2 +set QT=6.6.0 +set QTMINOR=6.6 +set SDL=SDL2-2.28.4 -call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" 22383a6b242bac072f949d2b3854cf04c6856cae7a87eaa78c60dd733b71e41e || goto error -call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" f770a087e350d688441880d08ad2791465e5e3b9a0f8fc2cfbeb5dd305a11d50 || goto error -call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" 9757899b00eea4e6b65f81f922c0215c70969661567398d91da6639a50a788e7 || goto error -call :downloadfile "qtsvg-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtsvg-everywhere-src-%QT%.zip" 0546a6aa19f5e0188d1ba4a0e0a1423d22b7dc55ce8a614cc4aa65bfac506f74 || goto error -call :downloadfile "qttools-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttools-everywhere-src-%QT%.zip" 3148f4f263bf9930d89107eb44bc452481a5f8c6178459e26ecbf3c8dca3b5c7 || goto error -call :downloadfile "qttranslations-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttranslations-everywhere-src-%QT%.zip" 8b99046b54c40106d4e310be63b41331b717cfd8b42da4b4fc1c9169604be7fc || goto error - -call :downloadfile "4b119f48f5cb5e1499f91a0791150231c47430d4.diff" "https://github.com/qt/qtbase/commit/4b119f48f5cb5e1499f91a0791150231c47430d4.diff" d86bd2bd4ee2aff5f5e97da027aa926178dca250d163427eb21503bb357730a5 || goto error +call :downloadfile "%SDL%.zip" "https://libsdl.org/release/%SDL%.zip" b53b9b42e731a33552d0a533316a88009b423c16a8a3a418df9ffe498c37da3d || goto error +call :downloadfile "qtbase-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtbase-everywhere-src-%QT%.zip" 0b9dafd9a42deeb55fd4b74a6caaa6871a03d0051ddb54ea4ea448f28cb90ecc || goto error +call :downloadfile "qtimageformats-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtimageformats-everywhere-src-%QT%.zip" ae31eadd81da19e1bba0d72e16d29fdce0b98e991c4dcbf6351acf09967fd175 || goto error +call :downloadfile "qtsvg-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qtsvg-everywhere-src-%QT%.zip" 88b4b1a8224465cb04feed2a37823e95e959164cf824e9969648335614a4c855 || goto error +call :downloadfile "qttools-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttools-everywhere-src-%QT%.zip" 051787f12e2457425f35f31e642163f0d481cdd687b4b164ca41ddb84d5ea3a6 || goto error +call :downloadfile "qttranslations-everywhere-src-%QT%.zip" "https://download.qt.io/official_releases/qt/%QTMINOR%/%QT%/submodules/qttranslations-everywhere-src-%QT%.zip" 5d04b33336d3d49512eedfa85b378f0805dc4d8770365db318234b125deef9dc || goto error if %DEBUG%==1 ( echo Building debug and release libraries... @@ -80,7 +78,6 @@ echo Building Qt base... rmdir /S /Q "qtbase-everywhere-src-%QT%" %SEVENZIP% x "qtbase-everywhere-src-%QT%.zip" || goto error cd "qtbase-everywhere-src-%QT%" || goto error -"C:\Program Files\Git\usr\bin\patch" -p1 < ../4b119f48f5cb5e1499f91a0791150231c47430d4.diff || goto error cmake -B build -DFEATURE_sql=OFF -DCMAKE_INSTALL_PREFIX="%INSTALLDIR%" -DINPUT_gui=yes -DINPUT_widgets=yes -DINPUT_ssl=yes -DINPUT_openssl=no -DINPUT_schannel=yes %QTBUILDSPEC% || goto error cmake --build build --parallel || goto error ninja -C build install || goto error diff --git a/README.md b/README.md index 9dd007bee0..658cac1082 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Installers and binaries for both stable and development builds are available fro | Operating System | CPU | GPU | RAM | | ------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- | -| - Windows 10 Version 1809 or later (64-bit)
- Ubuntu 22.04/Debian or newer, Arch Linux, or other distro (64-bit)
- macOS 10.14 | - Supports SSE4.1
- [PassMark Thread Performance](https://www.cpubenchmark.net/CPU_mega_page.html) rating near or greater than 1500
- Two physical cores, with hyperthreading | - Direct3D 11 (Feature Level 11.0) support
- OpenGL 3.3 support
- Vulkan 1.1 support
- Metal support
- [PassMark G3D Mark](https://www.videocardbenchmark.net/high_end_gpus.html) rating around 3000 (Geforce GTX 750, Radeon RX 560, Intel Arc A380)
- 2 GB Video Memory | 4 GB | +| - Windows 10 Version 1809 or later (64-bit)
- Ubuntu 22.04/Debian or newer, Arch Linux, or other distro (64-bit)
- macOS 11.0 | - Supports SSE4.1
- [PassMark Thread Performance](https://www.cpubenchmark.net/CPU_mega_page.html) rating near or greater than 1500
- Two physical cores, with hyperthreading | - Direct3D 11 (Feature Level 11.0) support
- OpenGL 3.3 support
- Vulkan 1.1 support
- Metal support
- [PassMark G3D Mark](https://www.videocardbenchmark.net/high_end_gpus.html) rating around 3000 (Geforce GTX 750, Radeon RX 560, Intel Arc A380)
- 2 GB Video Memory | 4 GB | ### Recommended diff --git a/cmake/BuildParameters.cmake b/cmake/BuildParameters.cmake index 5ec0f21feb..8e8906dfd8 100644 --- a/cmake/BuildParameters.cmake +++ b/cmake/BuildParameters.cmake @@ -263,7 +263,7 @@ if(NOT CMAKE_GENERATOR MATCHES "Xcode") # Assume Xcode builds aren't being used for distribution # Helpful because Xcode builds don't build multiple metallibs for different macOS versions # Also helpful because Xcode's interactive shader debugger requires apps be built for the latest macOS - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.14) + set(CMAKE_OSX_DEPLOYMENT_TARGET 11.0) endif() # CMake defaults the suffix for modules to .so on macOS but wx tells us that the diff --git a/cmake/SearchForStuff.cmake b/cmake/SearchForStuff.cmake index d4da10daca..9ea7af6bb7 100644 --- a/cmake/SearchForStuff.cmake +++ b/cmake/SearchForStuff.cmake @@ -95,7 +95,7 @@ endif(WIN32) find_package(Threads REQUIRED) # Also need SDL2. -find_package(SDL2 2.28.2 REQUIRED) +find_package(SDL2 2.28.4 REQUIRED) set(ACTUALLY_ENABLE_TESTS ${ENABLE_TESTS}) if(ENABLE_TESTS) @@ -156,20 +156,12 @@ disable_compiler_warnings_for_target(cubeb) disable_compiler_warnings_for_target(speex) # Find the Qt components that we need. -find_package(Qt6 COMPONENTS CoreTools Core GuiTools Gui WidgetsTools Widgets Network LinguistTools REQUIRED) +find_package(Qt6 6.5.3 COMPONENTS CoreTools Core GuiTools Gui WidgetsTools Widgets Network LinguistTools REQUIRED) if(WIN32) add_subdirectory(3rdparty/rainterface EXCLUDE_FROM_ALL) endif() -if (APPLE AND CMAKE_OSX_DEPLOYMENT_TARGET AND "${CMAKE_OSX_DEPLOYMENT_TARGET}" VERSION_LESS 10.15) - get_target_property(QT_FEATURES Qt6::Core QT_ENABLED_PUBLIC_FEATURES) - if (cxx17_filesystem IN_LIST QT_FEATURES) - message("Qt compiled with std::filesystem support, requires macOS 10.15") - set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15) - endif() -endif() - # Demangler for the debugger add_subdirectory(3rdparty/demangler EXCLUDE_FROM_ALL)