build: refresh toolchain and dependency wiring

This commit is contained in:
scawful
2025-12-22 14:45:31 -05:00
parent 7b72b2e3d4
commit df866b3f7f
18 changed files with 160 additions and 67 deletions

View File

@@ -14,9 +14,24 @@ set(_YAZE_USE_SYSTEM_GTEST ${YAZE_USE_SYSTEM_DEPS})
# Detect Homebrew installation automatically (helps offline builds)
if(APPLE AND NOT _YAZE_USE_SYSTEM_GTEST)
set(_YAZE_GTEST_PREFIX_CANDIDATES
/opt/homebrew/opt/googletest
/usr/local/opt/googletest)
set(_YAZE_GTEST_PREFIX_CANDIDATES)
set(_YAZE_HOST_ARCH "${CMAKE_SYSTEM_PROCESSOR}")
if(NOT _YAZE_HOST_ARCH)
execute_process(
COMMAND uname -m
OUTPUT_VARIABLE _YAZE_HOST_ARCH
OUTPUT_STRIP_TRAILING_WHITESPACE
ERROR_QUIET)
endif()
if(_YAZE_HOST_ARCH STREQUAL "arm64")
list(APPEND _YAZE_GTEST_PREFIX_CANDIDATES
/opt/homebrew/opt/googletest)
else()
list(APPEND _YAZE_GTEST_PREFIX_CANDIDATES
/usr/local/opt/googletest
/opt/homebrew/opt/googletest)
endif()
foreach(_prefix IN LISTS _YAZE_GTEST_PREFIX_CANDIDATES)
if(EXISTS "${_prefix}")
@@ -37,9 +52,13 @@ if(APPLE AND NOT _YAZE_USE_SYSTEM_GTEST)
RESULT_VARIABLE HOMEBREW_GTEST_RESULT
ERROR_QUIET)
if(HOMEBREW_GTEST_RESULT EQUAL 0 AND EXISTS "${HOMEBREW_GTEST_PREFIX}")
if(_YAZE_HOST_ARCH STREQUAL "arm64" AND NOT HOMEBREW_GTEST_PREFIX MATCHES "^/opt/homebrew")
message(STATUS "Skipping Homebrew googletest prefix on arm64: ${HOMEBREW_GTEST_PREFIX}")
else()
list(APPEND CMAKE_PREFIX_PATH "${HOMEBREW_GTEST_PREFIX}")
message(STATUS "Added Homebrew googletest prefix: ${HOMEBREW_GTEST_PREFIX}")
set(_YAZE_USE_SYSTEM_GTEST ON)
endif()
endif()
endif()
endif()