summaryrefslogtreecommitdiffhomepage
path: root/cmake
diff options
context:
space:
mode:
authorMatteo Ceruti <matteo.ceruti@gmail.com>2023-08-31 18:17:33 +0200
committerMatteo Ceruti <matteo.ceruti@gmail.com>2023-08-31 18:54:01 +0200
commitcb26f1af8b6025d0e0a148e2661aa5bd057d6947 (patch)
tree39d2b196ee017feaa7adb382fca64497f9bad715 /cmake
parentb04381b44e4fbbfcf88e5e74052464657cf7df25 (diff)
Allow arm64 build ion macOS by using toolchain file apple.cmake and exporting an EVN-Variable OTR_OSX_ARCH=arm64
I build with after cloning the repo cd opentrack export OTR_OSX_ARCH=arm64 ; cmake --toolchain ./cmake/apple.cmake -S . -B build cd build make install
Diffstat (limited to 'cmake')
-rw-r--r--cmake/apple.cmake13
1 files changed, 10 insertions, 3 deletions
diff --git a/cmake/apple.cmake b/cmake/apple.cmake
index f6b83382..64e4d628 100644
--- a/cmake/apple.cmake
+++ b/cmake/apple.cmake
@@ -1,12 +1,19 @@
set(CMAKE_BUILD_TYPE_INIT RELEASE)
-set(CMAKE_CXX_FLAGS "-arch x86_64 -stdlib=libc++" CACHE STRING "" FORCE)
-set(CMAKE_C_FLAGS "-arch x86_64" CACHE STRING "" FORCE)
+if("$ENV{OTR_OSX_ARCH}" STREQUAL "arm64")
+ set(CMAKE_OSX_ARCHITECTURES "arm64" CACHE STRING "" FORCE)
+ set(opentrack-intel FALSE)
+else()
+ set(CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "" FORCE)
+ set(opentrack-intel TRUE)
+endif()
+
+set(CMAKE_CXX_FLAGS "-stdlib=libc++" CACHE STRING "" FORCE)
set(CMAKE_C_FLAGS_RELEASE "-ffast-math -O3 -flto -g" CACHE STRING "" FORCE)
set(CMAKE_CXX_FLAGS_RELEASE " ${CMAKE_C_FLAGS_RELEASE}" CACHE STRING "" FORCE)
-set(cmake-link-common "-stdlib=libc++ -arch x86_64")
+set(cmake-link-common "-stdlib=libc++")
set(CMAKE_EXE_LINKER_FLAGS "${cmake-link-common} -Wl,-stack_size,0x4000000" CACHE STRING "" FORCE)
set(CMAKE_SHARED_LINKER_FLAGS ${cmake-link-common} CACHE STRING "" FORCE)
set(CMAKE_MODULE_LINKER_FLAGS ${cmake-link-common} CACHE STRING "" FORCE)