summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorhathach <[email protected]>2023-06-01 12:36:08 +0700
committerhathach <[email protected]>2023-06-01 12:36:08 +0700
commit19a597bcae11077c3011d78f1a85dc2f1bfcd00f (patch)
treed3bd96b4e1d6078021365a0b1e12193db194712f /tools
parentddc029ce54913fa898c5225a2e87f136a6b81060 (diff)
add lto for cmake
Diffstat (limited to 'tools')
-rw-r--r--tools/cmake/cpu/cortex-m33.cmake1
-rw-r--r--tools/cmake/toolchain/arm_gcc.cmake8
-rw-r--r--tools/cmake/toolchain/set_flags.cmake28
3 files changed, 19 insertions, 18 deletions
diff --git a/tools/cmake/cpu/cortex-m33.cmake b/tools/cmake/cpu/cortex-m33.cmake
index 26c91a64f..fda277010 100644
--- a/tools/cmake/cpu/cortex-m33.cmake
+++ b/tools/cmake/cpu/cortex-m33.cmake
@@ -3,7 +3,6 @@ if (TOOLCHAIN STREQUAL "gcc")
-mthumb
-mcpu=cortex-m33
-mfloat-abi=hard
- #-mfpu=fpv5-d16
-mfpu=fpv5-sp-d16
)
diff --git a/tools/cmake/toolchain/arm_gcc.cmake b/tools/cmake/toolchain/arm_gcc.cmake
index 5f25d637b..c7f12f43a 100644
--- a/tools/cmake/toolchain/arm_gcc.cmake
+++ b/tools/cmake/toolchain/arm_gcc.cmake
@@ -4,9 +4,11 @@ set(CMAKE_ASM_COMPILER "arm-none-eabi-gcc")
set(CMAKE_C_COMPILER "arm-none-eabi-gcc")
set(CMAKE_CXX_COMPILER "arm-none-eabi-g++")
-set(TOOLCHAIN_SIZE "arm-none-eabi-size" CACHE INTERNAL "")
-set(GCC_ELF2BIN "arm-none-eabi-objcopy")
-set_property(GLOBAL PROPERTY ELF2BIN ${GCC_ELF2BIN})
+set(CMAKE_SIZE "arm-none-eabi-size" CACHE FILEPATH "")
+set(CMAKE_OBJCOPY "arm-none-eabi-objcopy" CACHE FILEPATH "")
+set(CMAKE_OBJDUMP "arm-none-eabi-objdump" CACHE FILEPATH "")
+
+set_property(GLOBAL PROPERTY TARGET_SUPPORTS_SHARED_LIBS FALSE)
# Look for includes and libraries only in the target system prefix.
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
diff --git a/tools/cmake/toolchain/set_flags.cmake b/tools/cmake/toolchain/set_flags.cmake
index 3f109b59e..6f74fe673 100644
--- a/tools/cmake/toolchain/set_flags.cmake
+++ b/tools/cmake/toolchain/set_flags.cmake
@@ -1,16 +1,16 @@
include(CMakePrintHelpers)
-foreach(LANG IN ITEMS C CXX ASM)
- # join the toolchain flags into a single string
- list(APPEND TOOLCHAIN_${LANG}_FLAGS ${TOOLCHAIN_COMMON_FLAGS})
- list(JOIN TOOLCHAIN_${LANG}_FLAGS " " TOOLCHAIN_${LANG}_FLAGS)
- set(CMAKE_${LANG}_FLAGS_INIT "${TOOLCHAIN_${LANG}_FLAGS}")
+foreach (LANG IN ITEMS C CXX ASM)
+ # join the toolchain flags into a single string
+ list(APPEND TOOLCHAIN_${LANG}_FLAGS ${TOOLCHAIN_COMMON_FLAGS})
+ list(JOIN TOOLCHAIN_${LANG}_FLAGS " " TOOLCHAIN_${LANG}_FLAGS)
+ set(CMAKE_${LANG}_FLAGS_INIT "${TOOLCHAIN_${LANG}_FLAGS}")
- #cmake_print_variables(CMAKE_${LANG}_FLAGS_INIT)
+ #cmake_print_variables(CMAKE_${LANG}_FLAGS_INIT)
- # optimization flags
- set(CMAKE_${LANG}_FLAGS_RELEASE_INIT "-Os")
- set(CMAKE_${LANG}_FLAGS_DEBUG_INIT "-O0")
-endforeach()
+ # optimization flags for LOG, LOGGER ?
+ #set(CMAKE_${LANG}_FLAGS_RELEASE_INIT "-Os")
+ #set(CMAKE_${LANG}_FLAGS_DEBUG_INIT "-O0")
+endforeach ()
# Linker
list(JOIN TOOLCHAIN_EXE_LINKER_FLAGS " " CMAKE_EXE_LINKER_FLAGS_INIT)
@@ -18,7 +18,7 @@ list(JOIN TOOLCHAIN_EXE_LINKER_FLAGS " " CMAKE_EXE_LINKER_FLAGS_INIT)
# try_compile is cmake test compiling its own example,
# pass -nostdlib to skip stdlib linking
get_property(IS_IN_TRY_COMPILE GLOBAL PROPERTY IN_TRY_COMPILE)
-if(IS_IN_TRY_COMPILE)
- set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
- set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
-endif()
+if (IS_IN_TRY_COMPILE)
+ set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -nostdlib")
+ set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -nostdlib")
+endif ()