diff --git a/CMakeLists.txt b/CMakeLists.txt index cfb19696..cd3067dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -70,6 +70,10 @@ target_link_libraries(${EXE_NAME} Core App) target_compile_definitions(${EXE_NAME} PRIVATE $<$:DEBUG>) target_link_libraries(${EXE_NAME} ${TOOLCHAIN_LINK_LIBRARIES}) +if(ENABLE_LTO) + target_compile_options(${EXE_NAME} PRIVATE -flto=auto) +endif() + # Generate map file target_link_options(${EXE_NAME} PRIVATE "-Wl,-Map=${EXE_NAME}.map") diff --git a/CMakePresets.json b/CMakePresets.json index 400f3144..248dc98e 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -9,6 +9,7 @@ "toolchainFile": "${sourceDir}/cmake/gcc-arm-none-eabi.cmake", "cacheVariables": { "CMAKE_BUILD_TYPE": "Release", + "ENABLE_LTO": true, "ENABLE_FMRADIO": false, "ENABLE_UART": true, "ENABLE_USB": true,