Merge pull request #1694 from Azaezel/fixCI
Some checks are pending
Linux Build / Ubuntu Latest GCC (push) Waiting to run
MacOSX Build / MacOSX Latest Clang (push) Waiting to run
Windows Build / Windows Latest MSVC (push) Waiting to run

fix CI
This commit is contained in:
Brian Roberts 2026-03-17 15:44:45 -05:00 committed by GitHub
commit db9dd294b6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 52 additions and 21 deletions

View file

@ -501,12 +501,23 @@ string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" ARCH)
set(IS_X86 FALSE)
set(IS_ARM FALSE)
if(ARCH MATCHES "x86_64|amd64|i[3-6]86")
set(IS_X86 TRUE)
endif()
if(ARCH MATCHES "arm64|aarch64")
set(IS_ARM TRUE)
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
# Use the CMAKE_OSX_ARCHITECTURES list for universal builds
foreach(arch IN LISTS CMAKE_OSX_ARCHITECTURES)
if(arch STREQUAL "x86_64")
set(IS_X86 TRUE)
elseif(arch STREQUAL "arm64")
set(IS_ARM TRUE)
endif()
endforeach()
else()
# Non-macOS detection
if(ARCH MATCHES "arm64|aarch64")
set(IS_ARM TRUE)
endif()
if(ARCH MATCHES "x86_64|amd64|i[3-6]86")
set(IS_X86 TRUE)
endif()
endif()
# always available

View file

@ -9,22 +9,22 @@ set(CMAKE_SHARED_LIBRARY_RUNTIME_C_FLAG "-Wl,-rpath,")
# minimum for multi arch build is 11.
set(CMAKE_OSX_DEPLOYMENT_TARGET "11" CACHE STRING "" FORCE)
set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "" FORCE)
set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64" CACHE STRING "Architectures to build" FORCE)
set(CMAKE_XCODE_ATTRIBUTE_MACOSX_DEPLOYMENT_TARGET[arch=arm64] "11.0" CACHE STRING "arm 64 minimum deployment target" FORCE)
if(CMAKE_OSX_ARCHITECTURES MATCHES "((^|;|, )(arm64|arm64e|x86_64))+")
set(CMAKE_C_SIZEOF_DATA_PTR 8)
set(CMAKE_CXX_SIZEOF_DATA_PTR 8)
if(CMAKE_OSX_ARCHITECTURES MATCHES "((^|;|, )(arm64|arm64e))+")
set(CMAKE_SYSTEM_PROCESSOR "aarch64")
else()
set(CMAKE_SYSTEM_PROCESSOR "x86_64")
endif()
else()
set(CMAKE_C_SIZEOF_DATA_PTR 4)
set(CMAKE_CXX_SIZEOF_DATA_PTR 4)
set(CMAKE_SYSTEM_PROCESSOR "arm")
endif()
# if(CMAKE_OSX_ARCHITECTURES MATCHES "((^|;|, )(arm64|arm64e|x86_64))+")
# set(CMAKE_C_SIZEOF_DATA_PTR 8)
# set(CMAKE_CXX_SIZEOF_DATA_PTR 8)
# if(CMAKE_OSX_ARCHITECTURES MATCHES "((^|;|, )(arm64|arm64e))+")
# set(CMAKE_SYSTEM_PROCESSOR "aarch64")
# else()
# set(CMAKE_SYSTEM_PROCESSOR "x86_64")
# endif()
# else()
# set(CMAKE_C_SIZEOF_DATA_PTR 4)
# set(CMAKE_CXX_SIZEOF_DATA_PTR 4)
# set(CMAKE_SYSTEM_PROCESSOR "arm")
# endif()
# Enable codesigning with secure timestamp when not in Debug configuration (required for Notarization)
set(CMAKE_XCODE_ATTRIBUTE_OTHER_CODE_SIGN_FLAGS[variant=Release] "--timestamp")

View file

@ -176,7 +176,27 @@ function(add_math_backend name compile_defs)
elseif(name STREQUAL "avx2")
target_compile_options(math_${name} PRIVATE -mavx2 -mfma)
elseif(name STREQUAL "neon")
target_compile_options(math_${name} PRIVATE -march=armv8-a)
if(APPLE)
set_target_properties(math_${name} PROPERTIES OSX_ARCHITECTURES "arm64")
else()
target_compile_options(math_${name} PRIVATE -march=armv8-a)
endif()
endif()
endif()
if(APPLE)
# ARM-only backend
if(name STREQUAL "neon")
set_target_properties(math_${name} PROPERTIES
OSX_ARCHITECTURES "arm64"
)
endif()
# x86-only backends
if(name MATCHES "sse2|sse41|avx|avx2")
set_target_properties(math_${name} PROPERTIES
OSX_ARCHITECTURES "x86_64"
)
endif()
endif()