Added LunarG Vulkan SDK download/installation to Qt win64 build VMs.

This commit is contained in:
harry
2026-10-10 10:51:08 -04:00
parent 1e2a9f9a38
commit da89a8ed72
3 changed files with 38 additions and 1 deletions
+29
View File
@@ -29,6 +29,35 @@ cd build
mkdir bin
set BUILD_DIR=%CD%
set "VULKAN_SDK_VERSION=1.4.363.0"
if defined VULKAN_SDK if exist "%VULKAN_SDK%\Include\vulkan\vulkan.h" if exist "%VULKAN_SDK%\Lib\vulkan-1.lib" goto vulkan_sdk_ready
set "VULKAN_SDK=C:\VulkanSDK\%VULKAN_SDK_VERSION%"
if exist "%VULKAN_SDK%\Include\vulkan\vulkan.h" if exist "%VULKAN_SDK%\Lib\vulkan-1.lib" goto vulkan_sdk_ready
set "VULKAN_SDK=%LOCALAPPDATA%\VulkanSDK\%VULKAN_SDK_VERSION%"
if exist "%VULKAN_SDK%\Include\vulkan\vulkan.h" if exist "%VULKAN_SDK%\Lib\vulkan-1.lib" goto vulkan_sdk_ready
set "VULKAN_SDK_INSTALLER=%BUILD_DIR%\vulkansdk-windows-X64-%VULKAN_SDK_VERSION%.exe"
echo Downloading Vulkan SDK %VULKAN_SDK_VERSION%
curl -fL --retry 3 -o "%VULKAN_SDK_INSTALLER%" "https://sdk.lunarg.com/sdk/download/%VULKAN_SDK_VERSION%/windows/vulkansdk-windows-X64-%VULKAN_SDK_VERSION%.exe"
if errorlevel 1 exit /b 1
echo Installing Vulkan SDK to "%VULKAN_SDK%"
"%VULKAN_SDK_INSTALLER%" --root "%VULKAN_SDK%" --accept-licenses --default-answer --confirm-command install copy_only=1
if errorlevel 1 exit /b 1
if not exist "%VULKAN_SDK%\Include\vulkan\vulkan.h" (
echo ERROR: Vulkan SDK installation did not provide the expected headers.
exit /b 1
)
if not exist "%VULKAN_SDK%\Lib\vulkan-1.lib" (
echo ERROR: Vulkan SDK installation did not provide the expected x64 import library.
exit /b 1
)
:vulkan_sdk_ready
echo Using Vulkan SDK at "%VULKAN_SDK%"
set SDL_VERSION=2.32.8
set FFMPEG_VERSION=5.1.2
set LIBARCHIVE_VERSION=3.6.2
+8
View File
@@ -715,9 +715,17 @@ set(SOURCES ${SRC_CORE} ${SRC_DRIVERS_COMMON} ${SRC_DRIVERS_SDL})
include(CheckCXXSourceCompiles)
if (Vulkan_FOUND)
message( STATUS "Vulkan SDK found: ${Vulkan_INCLUDE_DIR}")
set(CMAKE_REQUIRED_LIBRARIES ${Qt}::Gui Vulkan::Vulkan)
check_cxx_source_compiles("#include <QVulkanInstance>\nint main() { QVulkanInstance instance; return instance.isValid(); }" FCEUX_QT_HAS_VULKAN)
unset(CMAKE_REQUIRED_LIBRARIES)
if (FCEUX_QT_HAS_VULKAN)
message( STATUS "Qt Vulkan support found; enabling Vulkan video renderer")
else()
message( STATUS "Qt Vulkan support not found; disabling Vulkan video renderer (see CMakeFiles/CMakeError.log)")
endif()
else()
message( STATUS "Vulkan SDK not found; disabling Vulkan video renderer (on Windows, check that VULKAN_SDK is set)")
endif()
if (Vulkan_FOUND AND FCEUX_QT_HAS_VULKAN)
+1 -1
View File
@@ -752,7 +752,7 @@ std::wstring mbstowcs(std::string str) // UTF8->UTF32
{
try {
return UtfConverter::FromUtf8(str);
} catch(std::exception &e) {
} catch(std::exception &) {
return L"(failed UTF-8 conversion)";
}
}