Просмотр исходного кода

cmake: Add arm6 compile options

Xenofon Karamanos 3 недель назад
Родитель
Сommit
2bd61fc1b1
1 измененных файлов с 18 добавлено и 0 удалено
  1. 18 0
      cmake/compiler-specific.cmake

+ 18 - 0
cmake/compiler-specific.cmake

@@ -120,6 +120,24 @@ elseif(TARGET_ARCH STREQUAL "arm7")
   else()
     message(FATAL_ERROR "Unsupported compiler (${CMAKE_C_COMPILER_ID}) for arm7. Try GCC.")
   endif()
+elseif(TARGET_ARCH STREQUAL "arm6")
+  if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
+    target_compile_definitions(common_compiler_flags INTERFACE CC_GCC_LIKE_ASM)
+    target_compile_options(
+      common_compiler_flags INTERFACE -march=armv6 -funroll-loops -fsigned-char
+    )
+    if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.2.0)
+      target_compile_options(common_compiler_flags INTERFACE -ftree-vectorize -fno-strict-overflow)
+    elseif(CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.0)
+      target_compile_options(common_compiler_flags INTERFACE -ftree-vectorize)
+    else()
+      message(
+        WARNING "GCC version ${CMAKE_C_COMPILER_VERSION} is too old for arm6. Try GCC 4.0 or newer."
+      )
+    endif()
+  else()
+    message(WARNING "Unsupported compiler (${CMAKE_C_COMPILER_ID}) for arm6. Try GCC.")
+  endif()
 elseif(TARGET_ARCH STREQUAL "arm")
   if(CMAKE_C_COMPILER_ID STREQUAL "GNU")
     target_compile_definitions(common_compiler_flags INTERFACE CC_GCC_LIKE_ASM)