From 00ec442860372c59097192216f89871ea46fcc82 Mon Sep 17 00:00:00 2001 From: James Ravenscroft Date: Fri, 4 Aug 2023 07:14:38 +0100 Subject: [PATCH] try to move arm options to top level --- CMakeLists.txt | 23 +++++++++++++++++++++++ src/CMakeLists.txt | 22 ---------------------- 2 files changed, 23 insertions(+), 22 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d91d020..fd73305 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,6 +5,29 @@ set(CMAKE_EXPORT_COMPILE_COMMANDS "on") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin) set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib") +if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm" OR ${CMAKE_SYSTEM_PROCESSOR} MATCHES "aarch64") + message(STATUS "ARM detected") + if (MSVC) + # TODO: arm msvc? + message(STATUS "ARM+MSVC= :( ") + else() + add_compile_options(()) + 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_subdirectory(extern/ggml) add_subdirectory(extern/argparse) add_subdirectory(extern/spdlog) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 5ed0966..6a2141a 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -3,28 +3,6 @@ set(TURBOPILOT_TARGET turbopilot) 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