Skip to content

Commit 16d6908

Browse files
committedMar 20, 2020
Improved compiler flags for the GNU toolchain
1 parent efb2718 commit 16d6908

File tree

3 files changed

+12
-13
lines changed

3 files changed

+12
-13
lines changed
 

‎CMakeLists.txt

+1-2
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ if(NOT ${BUILD_TESTS})
3434
get_filename_component(LINKER_SCRIPT linker/stm32f407vgt.ld ABSOLUTE)
3535

3636
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
37-
set(W_FLAGS -Wall -Wextra -Wcast-align -Wunused -Woverloaded-virtual -Wpedantic -Wconversion -Wsign-conversion -Wmisleading-indentation -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wnull-dereference -Wuseless-cast -Wold-style-cast -Wredundant-decls -Wundef -Wno-unused)
37+
set(W_FLAGS -Wpedantic -Wall -Wextra -Wcast-align -Wunused -Wconversion -Wsign-conversion -Wmisleading-indentation -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wnull-dereference -Wuseless-cast -Wold-style-cast -Wredundant-decls -Wundef -Wno-unused -Wsuggest-final-types -Wsuggest-override -Woverloaded-virtual)
3838
endif()
3939

4040
# add libraries
@@ -46,7 +46,6 @@ else()
4646
project(${application_name} C CXX)
4747

4848
if(${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")
49-
set(W_FLAGS -Wall -Wextra -Wcast-align -Wunused -Woverloaded-virtual -Wpedantic -Wconversion -Wsign-conversion -Wmisleading-indentation -Wduplicated-cond -Wduplicated-branches -Wlogical-op -Wnull-dereference -Wuseless-cast)
5049
if(${ENABLE_COVERAGE})
5150
set(TEST_FLAGS --coverage)
5251
set(CMAKE_CXX_OUTPUT_EXTENSION_REPLACE 1)

‎cmake/GCC.cmake

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,10 @@ set(CMAKE_CXX_COMPILER g++-7)
55
set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
66

77
# compiler: language specific flags
8-
set(CMAKE_C_FLAGS "--coverage -fno-builtin -Wall -fdata-sections -ffunction-sections -g -ggdb" CACHE INTERNAL "c compiler flags")
9-
set(CMAKE_C_FLAGS_DEBUG "" CACHE INTERNAL "c compiler flags: Debug")
10-
set(CMAKE_C_FLAGS_RELEASE "" CACHE INTERNAL "c compiler flags: Release")
8+
set(CMAKE_C_FLAGS "--coverage -fno-builtin -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")
9+
set(CMAKE_C_FLAGS_DEBUG "-Og -g" CACHE INTERNAL "c compiler flags: Debug")
10+
set(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c compiler flags: Release")
1111

12-
set(CMAKE_CXX_FLAGS "--coverage -fno-rtti -fno-exceptions -fno-builtin -Wall -fdata-sections -ffunction-sections -g -ggdb" CACHE INTERNAL "cxx compiler flags")
13-
set(CMAKE_CXX_FLAGS_DEBUG "" CACHE INTERNAL "cxx compiler flags: Debug")
14-
set(CMAKE_CXX_FLAGS_RELEASE "" CACHE INTERNAL "cxx compiler flags: Release")
12+
set(CMAKE_CXX_FLAGS "--coverage -fno-rtti -fno-exceptions -fno-builtin -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")
13+
set(CMAKE_CXX_FLAGS_DEBUG "-Og -g" CACHE INTERNAL "cxx compiler flags: Debug")
14+
set(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx compiler flags: Release")

‎cmake/GNU-ARM-Toolchain.cmake

+5-5
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,16 @@ set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
1616
set(CORE_FLAGS "-mthumb -mcpu=cortex-m4 -mlittle-endian -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb-interwork --specs=nano.specs --specs=nosys.specs")
1717

1818
# compiler: language specific flags
19-
set(CMAKE_C_FLAGS "${CORE_FLAGS} -fno-builtin -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")
20-
set(CMAKE_C_FLAGS_DEBUG "-O0 -g3 -ggdb" CACHE INTERNAL "c compiler flags: Debug")
19+
set(CMAKE_C_FLAGS "${CORE_FLAGS} -fno-builtin -fdata-sections -ffunction-sections" CACHE INTERNAL "c compiler flags")
20+
set(CMAKE_C_FLAGS_DEBUG "-Og -g" CACHE INTERNAL "c compiler flags: Debug")
2121
set(CMAKE_C_FLAGS_RELEASE "-Os" CACHE INTERNAL "c compiler flags: Release")
2222

23-
set(CMAKE_CXX_FLAGS "${CORE_FLAGS} -fno-rtti -fno-exceptions -fno-builtin -Wall -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")
24-
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g3 -ggdb" CACHE INTERNAL "cxx compiler flags: Debug")
23+
set(CMAKE_CXX_FLAGS "${CORE_FLAGS} -fno-rtti -fno-exceptions -fno-builtin -fdata-sections -ffunction-sections" CACHE INTERNAL "cxx compiler flags")
24+
set(CMAKE_CXX_FLAGS_DEBUG "-Og -g" CACHE INTERNAL "cxx compiler flags: Debug")
2525
set(CMAKE_CXX_FLAGS_RELEASE "-Os" CACHE INTERNAL "cxx compiler flags: Release")
2626

2727
set(CMAKE_ASM_FLAGS "${CORE_FLAGS} -D__USES_CXX" CACHE INTERNAL "asm compiler flags")
28-
set(CMAKE_ASM_FLAGS_DEBUG "-O0 -g3 -ggdb" CACHE INTERNAL "asm compiler flags: Debug")
28+
set(CMAKE_ASM_FLAGS_DEBUG "-Og -g" CACHE INTERNAL "asm compiler flags: Debug")
2929
set(CMAKE_ASM_FLAGS_RELEASE "-Os" CACHE INTERNAL "asm compiler flags: Release")
3030

3131
# search for programs in the build host directories

0 commit comments

Comments
 (0)
Please sign in to comment.