FindBLAS: Support for new Apple Accelerate ILP64 interfaces
Hi,
with MacOS 13.3, Apple introduced the new Accelerate interfaces, now with support for 64bit integers:
https://developer.apple.com/documentation/macos-release-notes/macos-13_3-release-notes#Accelerate
The FindBLAS
module still aborts if we define BLA_SIZEOF_INTEGER=8
:
CMake Error at /opt/homebrew/Cellar/cmake/3.27.7/share/cmake/Modules/FindBLAS.cmake:1204 (message):
Accelerate Framework does not support Int64 type
# Apple BLAS library?
if(BLA_VENDOR STREQUAL "Apple" OR BLA_VENDOR STREQUAL "All")
if(_blas_sizeof_integer EQUAL 8)
if(BLA_VENDOR STREQUAL "Apple")
message(FATAL_ERROR "Accelerate Framework does not support Int64 type")
endif()
else()
if(NOT BLAS_LIBRARIES)
check_blas_libraries(
BLAS_LIBRARIES
BLAS
dgemm
""
"Accelerate"
""
""
""
)
endif()
endif()
endif()
I tried to fix it by making the error dependent on the CMAKE_OSX_DEPLOYMENT_TARGET
but the problem is that this variable might not be defined. Is there any other easy way to determine the default macOS SDK that is used?
Best,
Simon