From 2d463ad18b59e2d0f12b350fcff86475048db773 Mon Sep 17 00:00:00 2001 From: Alexey Storozhev Date: Mon, 23 Oct 2023 13:28:49 +0100 Subject: [PATCH] Use correct clang flag for size optimization See https://clang.llvm.org/docs/CommandGuide/clang.html: >> Code Generation Options >> -Oz Like -Os (and thus -O2), but reduces code size further. Without -Oz enabled clang produced binaries that were too large. --- CMakeLists.txt | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 91718d9643..679a1a0b3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,7 +16,11 @@ endif() if(NOT BOOTLOADER_BUILD) if(CONFIG_COMPILER_OPTIMIZATION_SIZE) - list(APPEND compile_options "-Os") + if(CMAKE_C_COMPILER_ID MATCHES "Clang") + list(APPEND compile_options "-Oz") + else() + list(APPEND compile_options "-Os") + endif() if(CMAKE_C_COMPILER_ID MATCHES "GNU") list(APPEND compile_options "-freorder-blocks") endif() @@ -34,7 +38,11 @@ if(NOT BOOTLOADER_BUILD) else() # BOOTLOADER_BUILD if(CONFIG_BOOTLOADER_COMPILER_OPTIMIZATION_SIZE) - list(APPEND compile_options "-Os") + if(CMAKE_C_COMPILER_ID MATCHES "Clang") + list(APPEND compile_options "-Oz") + else() + list(APPEND compile_options "-Os") + endif() if(CMAKE_C_COMPILER_ID MATCHES "GNU") list(APPEND compile_options "-freorder-blocks") endif()