From f439e359748aee999aff7897c9a15d8131dcff0c Mon Sep 17 00:00:00 2001 From: Alfi Maulana Date: Mon, 22 Apr 2024 20:58:42 +0700 Subject: [PATCH] feat: add support to setup Go on ARM64 macOS (#19) * feat: separate architecture for setting up Go on macOS * feat: add support to set up Go on ARM64 macOS --- cmake/SetupGo.cmake | 11 +++++++++-- test/CMakeLists.txt | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/cmake/SetupGo.cmake b/cmake/SetupGo.cmake index 242562e..9ccacd3 100644 --- a/cmake/SetupGo.cmake +++ b/cmake/SetupGo.cmake @@ -21,8 +21,15 @@ function(setup_go) set(URL https://go.dev/dl/go1.22.2.linux-amd64.tar.gz) set(EXPECTED_MD5 f64eb5791a9dab9cbcdf6549b9583280) elseif(CMAKE_SYSTEM_NAME STREQUAL Darwin) - set(URL https://go.dev/dl/go1.22.2.darwin-amd64.tar.gz) - set(EXPECTED_MD5 6a8e1186969f0ce1cc6fc2551d834c6b) + if(CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64) + set(URL https://go.dev/dl/go1.22.2.darwin-amd64.tar.gz) + set(EXPECTED_MD5 6a8e1186969f0ce1cc6fc2551d834c6b) + elseif(CMAKE_SYSTEM_PROCESSOR STREQUAL arm64) + set(URL https://go.dev/dl/go1.22.2.darwin-arm64.tar.gz) + set(EXPECTED_MD5 e22bc1c8f6288159ee44ebe5823a3893) + else() + message(FATAL_ERROR "Unsupported architecture for setting up Go: ${CMAKE_SYSTEM_PROCESSOR}") + endif() elseif(CMAKE_SYSTEM_NAME STREQUAL Windows) set(URL https://go.dev/dl/go1.22.2.windows-amd64.zip) set(EXPECTED_MD5 125813601d166b742b5ab86d986be78c) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index e8cbe56..22ad60a 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -4,6 +4,7 @@ function(add_cmake_test FILE) NAME ${NAME} COMMAND ${CMAKE_COMMAND} -D CMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME} + -D CMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR} -D CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH} -D CMAKE_BINARY_DIR=${CMAKE_CURRENT_SOURCE_DIR}/build -D TEST_MATCHES=^${NAME}$