From 1f3adf51092ed198d1e8618b7eb2a704fae77aa1 Mon Sep 17 00:00:00 2001 From: popcoder565 Date: Thu, 8 Oct 2026 11:46:09 -0400 Subject: [PATCH] cmake: accept glslang's current tool name and document Python 3 (#1161) * cmake: accept glslang's current tool name and document Python 3 Official glslang release archives for Windows ship the compiler only as glslang.exe, so configuring with one of them on PATH could not find glslangValidator. Fall back to glslang; glslangValidator is still preferred where both exist. The bundled SPIRV-Tools needs Python 3 at configure time, which the Windows build requirements did not mention. Co-Authored-By: Claude Opus 5.5 * docs: list Python 3 in the Linux and macOS prerequisites The bundled SPIRV-Tools calls find_host_package(Python3 REQUIRED) on every platform, so the apt and Homebrew package lists need it too, not only the Windows requirements. * cmake: remove glslang naming comment --------- Co-authored-by: Claude Opus 5.5 Co-authored-by: nmzik --- CMakeLists.txt | 2 +- README.md | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 80f7a281e..03ee62b0c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -244,7 +244,7 @@ file(GLOB kyty_emulator_src CONFIGURE_DEPENDS "${KYTY_SOURCE_DIR}/loader/*.h" ) -find_program(KYTY_GLSLANG_VALIDATOR glslangValidator REQUIRED) +find_program(KYTY_GLSLANG_VALIDATOR NAMES glslangValidator glslang REQUIRED) set(gpu_tiler_shader_dir "${KYTY_SOURCE_DIR}/graphics/host_gpu/shaders") set(gpu_tiler_generated_dir "${PROJECT_BINARY_DIR}/gpu_tiler_shaders") set(gpu_tiler_shader_names diff --git a/README.md b/README.md index 5df2b78aa..9e8644865 100644 --- a/README.md +++ b/README.md @@ -141,7 +141,8 @@ the Vulkan/SPIR-V validation rules. - Visual Studio 2022 or Build Tools 2022 with the **Desktop development with C++** workload and **C++ Clang tools for Windows** component - Qt 6 for MSVC 2022 64-bit, including Concurrent, Network, and Widgets -- [glslang](https://github.com/KhronosGroup/glslang/releases) (`glslangValidator`) on `PATH` +- [glslang](https://github.com/KhronosGroup/glslang/releases) (`glslang` or `glslangValidator`) on `PATH` +- Python 3 on `PATH`; the bundled SPIRV-Tools runs it at configure time The Microsoft C++ compiler (`cl.exe`) is not supported; use `clang-cl`. @@ -176,7 +177,7 @@ build has no working sound and no gamepad hotplug: ```bash sudo apt-get install --no-install-recommends \ - clang lld ninja-build cmake git glslang-tools pkg-config \ + clang lld ninja-build cmake git glslang-tools python3 pkg-config \ libgl1-mesa-dev libx11-dev libxcursor-dev libxext-dev libxfixes-dev \ libxi-dev libxrandr-dev libxss-dev libxtst-dev libxkbcommon-dev \ libasound2-dev libpulse-dev libudev-dev libdbus-1-dev libwayland-dev wayland-protocols @@ -251,7 +252,7 @@ Requirements: - An Apple Silicon Mac with Rosetta 2 installed (`softwareupdate --install-rosetta`) - Xcode (or the Command Line Tools) -- Homebrew packages: `brew install cmake ninja glslang` +- Homebrew packages: `brew install cmake ninja glslang python` - Qt 6 (Concurrent, Network, Widgets) with x86-64 support. The official Qt installation is universal and works; Homebrew's Qt is arm64-only and will not link