From 3f3bff73b6156efe14f3d5cd50bb1b7a6b5fd374 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Fri, 4 Aug 2023 07:05:20 +0100 Subject: [PATCH] add processor specific flags for arm --- src/CMakeLists.txt | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 02e485a..5ed0966 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -4,6 +4,27 @@ find_package(Boost REQUIRED) include_directories(${Boost_INCLUDE_DIRS}) +if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") + message(STATUS "ARM detected") + if (MSVC) + # TODO: arm msvc? + else() + if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv6") + # Raspberry Pi 1, Zero + add_compile_options(-mfpu=neon-fp-armv8 -mfp16-format=ieee -mno-unaligned-access) + endif() + if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv7") + # Raspberry Pi 2 + add_compile_options(-mfpu=neon-fp-armv8 -mfp16-format=ieee -mno-unaligned-access -funsafe-math-optimizations) + endif() + if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "armv8") + # Raspberry Pi 3, 4, Zero 2 (32-bit) + add_compile_options(-mfp16-format=ieee -mno-unaligned-access) + endif() + endif() +endif() + + add_executable(${TURBOPILOT_TARGET} main.cpp gptj.cpp