From 352138a1b5396789e4b3a9eea33d92c754fa8e97 Mon Sep 17 00:00:00 2001 From: Luke Street Date: Tue, 7 Jul 2026 12:03:25 -0600 Subject: [PATCH] Migrate dep versions to AuroraDependencyVersions.cmake --- CMakeLists.txt | 20 +------------------- cmake/AuroraDawnProvider.cmake | 12 ++++++------ cmake/AuroraDependencyVersions.cmake | 22 ++++++++++++++++++++++ extern/CMakeLists.txt | 6 +++++- 4 files changed, 34 insertions(+), 26 deletions(-) create mode 100644 cmake/AuroraDependencyVersions.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 64fb944..784dc8e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,26 +13,8 @@ option(AURORA_ENABLE_CARD "Enable CARD implementation based on kabufuda" ON) option(AURORA_ENABLE_RMLUI "Enable HTML/CSS Based UI Library for use in end-user UI development." OFF) option(AURORA_CACHE_USE_ZSTD "Compress WebGPU cache entries with zstd" ON) -# Specifies a cache string and previous values to forcibly migrate from -macro(_aurora_dependency_version name value doc) - set(_aurora_old_defaults ${ARGN}) - if (DEFINED CACHE{${name}} AND ${name} IN_LIST _aurora_old_defaults) - message(STATUS "aurora: Migrating ${name} from old default ${${name}} to ${value}") - set(${name} "${value}" CACHE STRING "${doc}" FORCE) - else () - set(${name} "${value}" CACHE STRING "${doc}") - endif () - unset(_aurora_old_defaults) -endmacro() - # Dependency versions -_aurora_dependency_version(AURORA_DAWN_VERSION "v20260618.032059" "Dawn prebuilt version tag (https://github.com/encounter/dawn/releases)" - "v20260523.201736" "v20260603.191052") # Previous versions -_aurora_dependency_version(AURORA_DAWN_REF "266c1cf8de969a364afa4fa49311631fc99a881e" "Dawn commit ref (https://github.com/encounter/dawn)" - "9aa45f938d4b36626722bbfdc2f18447179337e6" "13abc3bc8ea2d3c2050f9e77a12d012108ceee24") # Previous versions -_aurora_dependency_version(AURORA_SDL3_VERSION "3.4.10" "SDL3 prebuilt version tag (https://github.com/libsdl-org/SDL/releases)") -_aurora_dependency_version(AURORA_SDL3_REF "refs/tags/release-3.4.10" "SDL3 commit ref (https://github.com/libsdl-org/SDL)") -_aurora_dependency_version(AURORA_NOD_VERSION "v2.0.0-alpha.10" "nod version tag (https://github.com/encounter/nod/releases)") +include(cmake/AuroraDependencyVersions.cmake) # Platform-specific defaults set(_default_provider "auto") diff --git a/cmake/AuroraDawnProvider.cmake b/cmake/AuroraDawnProvider.cmake index a0ad064..184d0ee 100644 --- a/cmake/AuroraDawnProvider.cmake +++ b/cmake/AuroraDawnProvider.cmake @@ -147,9 +147,9 @@ if (_aurora_dawn_provider STREQUAL "vendor") endif () if (AURORA_DAWN_LINKAGE STREQUAL "shared") - set(AURORA_DAWN_IS_SHARED TRUE PARENT_SCOPE) + set(AURORA_DAWN_IS_SHARED TRUE) else () - set(AURORA_DAWN_IS_SHARED FALSE PARENT_SCOPE) + set(AURORA_DAWN_IS_SHARED FALSE) endif () elseif (_aurora_dawn_provider STREQUAL "system") @@ -168,9 +168,9 @@ elseif (_aurora_dawn_provider STREQUAL "system") get_target_property(_dawn_type dawn::webgpu_dawn TYPE) if (_dawn_type STREQUAL "SHARED_LIBRARY") - set(AURORA_DAWN_IS_SHARED TRUE PARENT_SCOPE) + set(AURORA_DAWN_IS_SHARED TRUE) else () - set(AURORA_DAWN_IS_SHARED FALSE PARENT_SCOPE) + set(AURORA_DAWN_IS_SHARED FALSE) endif () elseif (_aurora_dawn_provider STREQUAL "package") @@ -246,10 +246,10 @@ elseif (_aurora_dawn_provider STREQUAL "package") get_target_property(_dawn_pkg_type dawn::webgpu_dawn TYPE) if (_dawn_pkg_type STREQUAL "SHARED_LIBRARY") - set(AURORA_DAWN_IS_SHARED TRUE PARENT_SCOPE) + set(AURORA_DAWN_IS_SHARED TRUE) else () - set(AURORA_DAWN_IS_SHARED FALSE PARENT_SCOPE) + set(AURORA_DAWN_IS_SHARED FALSE) endif () else () diff --git a/cmake/AuroraDependencyVersions.cmake b/cmake/AuroraDependencyVersions.cmake new file mode 100644 index 0000000..21ac920 --- /dev/null +++ b/cmake/AuroraDependencyVersions.cmake @@ -0,0 +1,22 @@ +include_guard(GLOBAL) + +# Specifies a cache string and previous values to forcibly migrate from +macro(_aurora_dependency_version name value doc) + set(_aurora_old_defaults ${ARGN}) + if (DEFINED CACHE{${name}} AND ${name} IN_LIST _aurora_old_defaults) + message(STATUS "aurora: Migrating ${name} from old default ${${name}} to ${value}") + set(${name} "${value}" CACHE STRING "${doc}" FORCE) + else () + set(${name} "${value}" CACHE STRING "${doc}") + endif () + unset(_aurora_old_defaults) +endmacro() + +# Dependency versions +_aurora_dependency_version(AURORA_DAWN_VERSION "v20260618.032059" "Dawn prebuilt version tag (https://github.com/encounter/dawn/releases)" + "v20260523.201736" "v20260603.191052") # Previous versions +_aurora_dependency_version(AURORA_DAWN_REF "266c1cf8de969a364afa4fa49311631fc99a881e" "Dawn commit ref (https://github.com/encounter/dawn)" + "9aa45f938d4b36626722bbfdc2f18447179337e6" "13abc3bc8ea2d3c2050f9e77a12d012108ceee24") # Previous versions +_aurora_dependency_version(AURORA_SDL3_VERSION "3.4.10" "SDL3 prebuilt version tag (https://github.com/libsdl-org/SDL/releases)") +_aurora_dependency_version(AURORA_SDL3_REF "refs/tags/release-3.4.10" "SDL3 commit ref (https://github.com/libsdl-org/SDL)") +_aurora_dependency_version(AURORA_NOD_VERSION "v2.0.0-alpha.10" "nod version tag (https://github.com/encounter/nod/releases)") diff --git a/extern/CMakeLists.txt b/extern/CMakeLists.txt index 10c135b..c72a861 100644 --- a/extern/CMakeLists.txt +++ b/extern/CMakeLists.txt @@ -18,6 +18,7 @@ endfunction() if (AURORA_ENABLE_GX) include(${CMAKE_CURRENT_SOURCE_DIR}/../cmake/AuroraDawnProvider.cmake) + set(AURORA_DAWN_IS_SHARED "${AURORA_DAWN_IS_SHARED}" PARENT_SCOPE) endif () # Abseil is needed for core libraries. It normally comes via Dawn's vendor build. @@ -294,7 +295,10 @@ if (AURORA_ENABLE_GX) -P "${CMAKE_CURRENT_LIST_DIR}/../cmake/patches/apply-rmlui-keyboard-showed-state.cmake" EXCLUDE_FROM_ALL ) - FetchContent_MakeAvailable(rmlui) + block(SCOPE_FOR VARIABLES PROPAGATE rmlui_SOURCE_DIR rmlui_BINARY_DIR rmlui_POPULATED) + set(BUILD_SHARED_LIBS OFF) # Force block scope; RmlUi uses option(BUILD_SHARED_LIBS) + FetchContent_MakeAvailable(rmlui) + endblock() add_library(rmlui_backends STATIC ${rmlui_SOURCE_DIR}/Backends/RmlUi_Platform_SDL.cpp) # TODO: maybe dont hardcode this to SDL3?