modifications to support univeral x86_64/ARM builds on Mac

This commit is contained in:
essej 2023-05-29 13:17:52 -04:00 committed by Paul Ferrand
parent c25f9546b0
commit 69896109e7
2 changed files with 5 additions and 3 deletions

View file

@ -87,6 +87,8 @@ endif()
if(NOT PROJECT_SYSTEM_PROCESSOR) if(NOT PROJECT_SYSTEM_PROCESSOR)
if(MSVC) if(MSVC)
set(PROJECT_SYSTEM_PROCESSOR "${MSVC_CXX_ARCHITECTURE_ID}" CACHE STRING "" FORCE) set(PROJECT_SYSTEM_PROCESSOR "${MSVC_CXX_ARCHITECTURE_ID}" CACHE STRING "" FORCE)
elseif(CMAKE_OSX_ARCHITECTURES)
set(PROJECT_SYSTEM_PROCESSOR "${CMAKE_OSX_ARCHITECTURES}" CACHE STRING "" FORCE)
else() else()
set(PROJECT_SYSTEM_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}" CACHE STRING "" FORCE) set(PROJECT_SYSTEM_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}" CACHE STRING "" FORCE)
endif() endif()
@ -95,9 +97,9 @@ endif()
# Add required flags for the builds # Add required flags for the builds
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")
gw_warn(-Wall -Wextra -Wno-multichar -Werror=return-type) gw_warn(-Wall -Wextra -Wno-multichar -Werror=return-type)
if(PROJECT_SYSTEM_PROCESSOR MATCHES "^(i.86|x86_64)$") if(PROJECT_SYSTEM_PROCESSOR MATCHES "(i.86|x86_64)")
add_compile_options(-msse2) add_compile_options(-msse2)
elseif(PROJECT_SYSTEM_PROCESSOR MATCHES "^(arm.*)$") elseif(PROJECT_SYSTEM_PROCESSOR MATCHES "(arm.*)")
add_compile_options(-mfpu=neon) add_compile_options(-mfpu=neon)
if(NOT ANDROID) if(NOT ANDROID)
add_compile_options(-mfloat-abi=hard) add_compile_options(-mfloat-abi=hard)

View file

@ -9,7 +9,7 @@ macro(sfizz_add_simd_sources SOURCES_VAR PREFIX)
# For CPU-dispatched X86 sources # For CPU-dispatched X86 sources
# Always build them for all X86 targets. # Always build them for all X86 targets.
if(PROJECT_SYSTEM_PROCESSOR MATCHES "^(x86_64|amd64|AMD64|x64|X64|i.86|x86|X86)$") if(PROJECT_SYSTEM_PROCESSOR MATCHES "(x86_64|amd64|AMD64|x64|X64|i.86|x86|X86)")
# on GCC, it requires to set ISA support flags on individual files # on GCC, it requires to set ISA support flags on individual files
# to be able to use the intrinsics # to be able to use the intrinsics
if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")