From 69896109e7121b8a1ab47f53f6f6eaeac0571b3a Mon Sep 17 00:00:00 2001 From: essej Date: Mon, 29 May 2023 13:17:52 -0400 Subject: [PATCH] modifications to support univeral x86_64/ARM builds on Mac --- cmake/SfizzConfig.cmake | 6 ++++-- cmake/SfizzSIMDSourceFiles.cmake | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/cmake/SfizzConfig.cmake b/cmake/SfizzConfig.cmake index 298f0333..be2eb87c 100644 --- a/cmake/SfizzConfig.cmake +++ b/cmake/SfizzConfig.cmake @@ -87,6 +87,8 @@ endif() if(NOT PROJECT_SYSTEM_PROCESSOR) if(MSVC) 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() set(PROJECT_SYSTEM_PROCESSOR "${CMAKE_SYSTEM_PROCESSOR}" CACHE STRING "" FORCE) endif() @@ -95,9 +97,9 @@ endif() # Add required flags for the builds if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang") 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) - elseif(PROJECT_SYSTEM_PROCESSOR MATCHES "^(arm.*)$") + elseif(PROJECT_SYSTEM_PROCESSOR MATCHES "(arm.*)") add_compile_options(-mfpu=neon) if(NOT ANDROID) add_compile_options(-mfloat-abi=hard) diff --git a/cmake/SfizzSIMDSourceFiles.cmake b/cmake/SfizzSIMDSourceFiles.cmake index e7d164b7..b672b6f6 100644 --- a/cmake/SfizzSIMDSourceFiles.cmake +++ b/cmake/SfizzSIMDSourceFiles.cmake @@ -9,7 +9,7 @@ macro(sfizz_add_simd_sources SOURCES_VAR PREFIX) # For CPU-dispatched X86 sources # 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 # to be able to use the intrinsics if(CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang")