From cb7ed3344eff48d6c470083fe544bef07aad1860 Mon Sep 17 00:00:00 2001 From: AnouarMohamed Date: Wed, 22 Apr 2026 21:48:41 +0100 Subject: [PATCH 1/2] Handle asset paths correctly for multi-config generators Use CMake's GENERATOR_IS_MULTI_CONFIG property when computing RELATIVE_PATH_TO_PROJECT_ROOT instead of checking only for Visual Studio. This fixes runtime asset lookup for generators like Ninja Multi-Config, where executables are placed under bin// and the previous logic computed a path that was one directory too shallow. Fixes https://github.com/google/BigWheels/issues/563 --- CMakeLists.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9d1fdf8f9..21cbe2c8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -183,9 +183,10 @@ set(PPX_3P_ASSET_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/third_party/assets") # Determine relative path from binary location to the build root. cmake_path(SET BUILD_DIRECTORY NORMALIZE "${CMAKE_BINARY_DIR}") -if (CMAKE_GENERATOR MATCHES "Visual Studio") - # Visual Studio doesn't follow CMAKE_RUNTIME_OUTPUT_DIRECTORY, but - # creates a subdirectory with the config name. +get_property(PPX_GENERATOR_IS_MULTI_CONFIG GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) +if (PPX_GENERATOR_IS_MULTI_CONFIG) + # Multi-config generators place executables in a per-config subdirectory + # below CMAKE_RUNTIME_OUTPUT_DIRECTORY (for example: bin/Debug). cmake_path(SET EXECUTABLE_DIRECTORY NORMALIZE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/subfolder") else () cmake_path(SET EXECUTABLE_DIRECTORY NORMALIZE "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") @@ -286,4 +287,3 @@ if (PPX_BUILD_BENCHMARKS) message("Building benchmarks projects") add_subdirectory(benchmarks) endif() - From 0304ea41cd942de1b03cf8ce1910aa98b362bb99 Mon Sep 17 00:00:00 2001 From: AnouarMohamed Date: Thu, 23 Apr 2026 22:13:09 +0100 Subject: [PATCH 2/2] chore: trigger CI rerun