aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/nrf-ble-driver/support-arm64-osx.diff
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/nrf-ble-driver/support-arm64-osx.diff')
-rw-r--r--vcpkg/ports/nrf-ble-driver/support-arm64-osx.diff78
1 files changed, 78 insertions, 0 deletions
diff --git a/vcpkg/ports/nrf-ble-driver/support-arm64-osx.diff b/vcpkg/ports/nrf-ble-driver/support-arm64-osx.diff
new file mode 100644
index 0000000..37e22bc
--- /dev/null
+++ b/vcpkg/ports/nrf-ble-driver/support-arm64-osx.diff
@@ -0,0 +1,78 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ec7b4d2d7..16c136958 100755
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -298,7 +298,17 @@ include (cmake/clang-dev-tools.cmake)
+ set(ARCH_SUFFIX "unknown")
+
+ if("${CMAKE_SIZEOF_VOID_P}" EQUAL "8")
+- set(ARCH_SUFFIX "x86_64")
++ if(APPLE)
++ if(${ARCH} STREQUAL not_set OR ${ARCH} STREQUAL x86_64)
++ set(ARCH_SUFFIX "x86_64")
++ elseif(${ARCH} STREQUAL arm64)
++ set(ARCH_SUFFIX "arm64")
++ else()
++ message(FATAL_ERROR "Invalid ARCH_SUFFIX: ARCH=${ARCH}.")
++ endif()
++ else()
++ set(ARCH_SUFFIX "x86_64")
++ endif()
+ else()
+ set(ARCH_SUFFIX "x86_32")
+ endif()
+diff --git a/cmake/apple.cmake b/cmake/apple.cmake
+index c413cfa7e..cef762cf1 100644
+--- a/cmake/apple.cmake
++++ b/cmake/apple.cmake
+@@ -1,4 +1,13 @@
+-set(CMAKE_OSX_ARCHITECTURES "x86_64")
++if(${ARCH} STREQUAL not_set)
++ message(STATUS "macOS Architecture not set, using x86_64 as default.")
++ SET(CMAKE_OSX_ARCHITECTURES "x86_64")
++else()
++ if(${ARCH} STREQUAL x86_64 OR ${ARCH} STREQUAL arm64)
++ set(CMAKE_OSX_ARCHITECTURES "${ARCH}")
++ else()
++ message(FATAL_ERROR "Invalid CMAKE_OSX_ARCHITECTURES: ARCH=${ARCH}.")
++ endif()
++endif()
+
+ set(CMAKE_SKIP_BUILD_RPATH TRUE)
+ set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+diff --git a/cmake/nrf-ble-driver.cmake b/cmake/nrf-ble-driver.cmake
+index d81608c72..467afd0e9 100644
+--- a/cmake/nrf-ble-driver.cmake
++++ b/cmake/nrf-ble-driver.cmake
+@@ -8,7 +8,7 @@ math(EXPR COMPILER_ARCH_BITS "8*${CMAKE_SIZEOF_VOID_P}")
+ # Default to compiler architecture
+ set(ARCH_BITS ${COMPILER_ARCH_BITS})
+
+-SET(ARCH not_set CACHE STRING "Architecture (x86_32 or x86_64)")
++SET(ARCH not_set CACHE STRING "Architecture (x86_32, x86_64, arm or arm64)")
+ string(TOLOWER "${ARCH}" ARCH)
+
+ if(${ARCH} STREQUAL not_set)
+@@ -16,17 +16,19 @@ if(${ARCH} STREQUAL not_set)
+ else()
+ if(MSVC)
+ message(FATAL_ERROR "ARCH not available with MSVC. Use -G \"Visual Studio XX <Win64>\" instead.")
+- elseif(APPLE)
+- message(FATAL_ERROR "ARCH not available on macOS / OS X. Universal 32 and 64-bit binaries will be built.")
+ endif()
+ if(${ARCH} STREQUAL x86_32)
+ set(ARCH_BITS 32)
+ elseif(${ARCH} STREQUAL x86_64)
+ set(ARCH_BITS 64)
++ elseif(${ARCH} STREQUAL arm)
++ set(ARCH_BITS 32)
++ elseif(${ARCH} STREQUAL arm64)
++ set(ARCH_BITS 64)
+ else()
+ message(FATAL_ERROR "Invalid architecture: ARCH=${ARCH}.")
+ endif()
+- message(STATUS "Building ${ARCH_BITS}-bit targets with ${COMPILER_ARCH_BITS}-bit toolchain.")
++ message(STATUS "Building ${ARCH} ${ARCH_BITS}-bit targets with ${COMPILER_ARCH_BITS}-bit toolchain.")
+ endif()
+
+ if(NOT MSVC)