mirror of
https://github.com/opentx/opentx.git
synced 2025-07-25 01:05:10 +03:00
Added WARNINGS_AS_ERRORS cmake option for radio firmware
This commit is contained in:
parent
e5a5a6319f
commit
0d74148d70
2 changed files with 98 additions and 94 deletions
|
@ -23,6 +23,7 @@ option(SIMU_AUDIO "Enable simulator audio" OFF)
|
||||||
option(SIMU_DISKIO "Enable disk IO simulation in simulator. Simulator will use FatFs module and simulated IO layer that uses \"./sdcard.image\" file as image of SD card. This file must contain whole SD card from first to last sector" OFF)
|
option(SIMU_DISKIO "Enable disk IO simulation in simulator. Simulator will use FatFs module and simulated IO layer that uses \"./sdcard.image\" file as image of SD card. This file must contain whole SD card from first to last sector" OFF)
|
||||||
option(FAS_PROTOTYPE "Support of old FAS prototypes (different resistors)" OFF)
|
option(FAS_PROTOTYPE "Support of old FAS prototypes (different resistors)" OFF)
|
||||||
option(TEMPLATES "Model templates menu" OFF)
|
option(TEMPLATES "Model templates menu" OFF)
|
||||||
|
option(WARNINGS_AS_ERRORS "Treat all compiler warnings as error" OFF)
|
||||||
|
|
||||||
enable_language(ASM)
|
enable_language(ASM)
|
||||||
set(OPT s)
|
set(OPT s)
|
||||||
|
@ -317,6 +318,9 @@ add_definitions(-DCORRECT_NEGATIVE_SHIFTS)
|
||||||
|
|
||||||
if(NOT WIN32)
|
if(NOT WIN32)
|
||||||
add_definitions(-Wall -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits)
|
add_definitions(-Wall -Wno-strict-aliasing -Wformat -Wreturn-type -Wunused -Wuninitialized -Wunknown-pragmas -Wno-switch -Wtype-limits)
|
||||||
|
if(WARNINGS_AS_ERRORS)
|
||||||
|
set(WARNING_FLAGS -Werror)
|
||||||
|
endif(WARNINGS_AS_ERRORS)
|
||||||
else()
|
else()
|
||||||
add_definitions(-DHAVE_STRUCT_TIMESPEC)
|
add_definitions(-DHAVE_STRUCT_TIMESPEC)
|
||||||
endif()
|
endif()
|
||||||
|
@ -338,7 +342,7 @@ set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LI
|
||||||
set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET>")
|
set(CMAKE_CXX_LINK_EXECUTABLE "<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET>")
|
||||||
|
|
||||||
if(NOT MSVC)
|
if(NOT MSVC)
|
||||||
if(ARCH STREQUAL ARM)
|
if(ARCH STREQUAL ARM)
|
||||||
cmake_force_c_compiler(arm-none-eabi-gcc GNU)
|
cmake_force_c_compiler(arm-none-eabi-gcc GNU)
|
||||||
cmake_force_cxx_compiler(arm-none-eabi-g++ GNU)
|
cmake_force_cxx_compiler(arm-none-eabi-g++ GNU)
|
||||||
set(CMAKE_ASM_COMPILER arm-none-eabi-as)
|
set(CMAKE_ASM_COMPILER arm-none-eabi-as)
|
||||||
|
@ -348,12 +352,12 @@ if(ARCH STREQUAL ARM)
|
||||||
set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -o <OBJECT> <SOURCE>")
|
set(CMAKE_ASM_COMPILE_OBJECT "<CMAKE_ASM_COMPILER> -o <OBJECT> <SOURCE>")
|
||||||
|
|
||||||
set(COMMON_FLAGS "-mcpu=${MCU} -mthumb -fomit-frame-pointer -fverbose-asm -Wa,-ahlms=firmware.lst -O${OPT} -gdwarf-2 -DHSE_VALUE=${HSE_VALUE} -fno-exceptions -fdata-sections -ffunction-sections ${WARNING_FLAGS}")
|
set(COMMON_FLAGS "-mcpu=${MCU} -mthumb -fomit-frame-pointer -fverbose-asm -Wa,-ahlms=firmware.lst -O${OPT} -gdwarf-2 -DHSE_VALUE=${HSE_VALUE} -fno-exceptions -fdata-sections -ffunction-sections ${WARNING_FLAGS}")
|
||||||
# Remove once the minimum cmake version is set to 3.1 in the main CmakeLists.tx
|
# Remove once the minimum cmake version is set to 3.1 in the main CmakeLists.tx
|
||||||
if (${CMAKE_VERSION} VERSION_LESS 3.1.0})
|
if (${CMAKE_VERSION} VERSION_LESS 3.1.0})
|
||||||
set(COMMON_CPP_FLAGS "${COMMON_FLAGS} -std=gnu++11")
|
set(COMMON_CPP_FLAGS "${COMMON_FLAGS} -std=gnu++11")
|
||||||
else()
|
else()
|
||||||
set(COMMON_CPP_FLAGS ${COMMON_FLAGS})
|
set(COMMON_CPP_FLAGS ${COMMON_FLAGS})
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_C_FLAGS "${COMMON_FLAGS} -Wimplicit")
|
set(CMAKE_C_FLAGS "${COMMON_FLAGS} -Wimplicit")
|
||||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${COMMON_FLAGS} -Wimplicit -g")
|
set(CMAKE_C_FLAGS_RELWITHDEBINFO "${COMMON_FLAGS} -Wimplicit -g")
|
||||||
set(CMAKE_C_FLAGS_RELEASE "${COMMON_FLAGS} -Wimplicit")
|
set(CMAKE_C_FLAGS_RELEASE "${COMMON_FLAGS} -Wimplicit")
|
||||||
|
@ -382,15 +386,15 @@ endif()
|
||||||
COMMAND arm-none-eabi-objcopy -O binary firmware.elf firmware.bin
|
COMMAND arm-none-eabi-objcopy -O binary firmware.elf firmware.bin
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
)
|
)
|
||||||
else()
|
else()
|
||||||
cmake_force_c_compiler(avr-gcc GNU)
|
cmake_force_c_compiler(avr-gcc GNU)
|
||||||
cmake_force_cxx_compiler(avr-gcc GNU)
|
cmake_force_cxx_compiler(avr-gcc GNU)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS "-mmcu=${MCU} -DF_CPU=16000000UL -O${OPT} -gdwarf-2 -fno-exceptions -flto -fwhole-program -fno-inline-small-functions -mstrict-X ${WARNING_FLAGS}")
|
set(CMAKE_CXX_FLAGS "-mmcu=${MCU} -DF_CPU=16000000UL -O${OPT} -gdwarf-2 -fno-exceptions -flto -fwhole-program -fno-inline-small-functions -mstrict-X ${WARNING_FLAGS}")
|
||||||
# Remove once the minimum cmake version is set to 3.1 in the main CmakeLists.tx
|
# Remove once the minimum cmake version is set to 3.1 in the main CmakeLists.tx
|
||||||
if (${CMAKE_VERSION} VERSION_LESS 3.1.0})
|
if (${CMAKE_VERSION} VERSION_LESS 3.1.0})
|
||||||
set(CMAKE_CXX_FLAGS "-std=gnu++11 ${CMAKE_CXX_FLAGS}")
|
set(CMAKE_CXX_FLAGS "-std=gnu++11 ${CMAKE_CXX_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
include_directories(storage gui/${GUI_DIR})
|
include_directories(storage gui/${GUI_DIR})
|
||||||
|
|
||||||
|
@ -422,9 +426,9 @@ endif()
|
||||||
DEPENDS firmware
|
DEPENDS firmware
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CPU_FAMILY STREQUAL STM32)
|
if(CPU_FAMILY STREQUAL STM32)
|
||||||
add_custom_target(flash
|
add_custom_target(flash
|
||||||
COMMAND dfu-util --alt 0 --dfuse-address 0x08000000:leave -d 0483:df11 -D firmware.bin
|
COMMAND dfu-util --alt 0 --dfuse-address 0x08000000:leave -d 0483:df11 -D firmware.bin
|
||||||
DEPENDS firmware
|
DEPENDS firmware
|
||||||
|
@ -436,5 +440,5 @@ if(CPU_FAMILY STREQUAL STM32)
|
||||||
DEPENDS firmware
|
DEPENDS firmware
|
||||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif(NOT MSVC)
|
||||||
|
|
|
@ -113,14 +113,14 @@ make -j${CORES} gtests ; ./gtests
|
||||||
|
|
||||||
# OpenTX on Horus beta boards
|
# OpenTX on Horus beta boards
|
||||||
rm -rf *
|
rm -rf *
|
||||||
cmake ${COMMON_OPTIONS} -DPCB=HORUS -DPCBREV=10 -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
cmake ${COMMON_OPTIONS} -DPCB=HORUS -DPCBREV=10 -DHELI=YES -DLUA=YES -DGVARS=YES -DWARNINGS_AS_ERRORS=YES ${SRCDIR}
|
||||||
make -j${CORES} firmware
|
make -j${CORES} firmware
|
||||||
make -j${CORES} simu
|
make -j${CORES} simu
|
||||||
make -j${CORES} gtests ; ./gtests
|
make -j${CORES} gtests ; ./gtests
|
||||||
|
|
||||||
# OpenTX on Horus
|
# OpenTX on Horus
|
||||||
rm -rf *
|
rm -rf *
|
||||||
cmake ${COMMON_OPTIONS} -DPCB=HORUS -DHELI=YES -DLUA=YES -DGVARS=YES ${SRCDIR}
|
cmake ${COMMON_OPTIONS} -DPCB=HORUS -DHELI=YES -DLUA=YES -DGVARS=YES -DWARNINGS_AS_ERRORS=YES ${SRCDIR}
|
||||||
make -j${CORES} firmware
|
make -j${CORES} firmware
|
||||||
make -j${CORES} simu
|
make -j${CORES} simu
|
||||||
make -j${CORES} gtests ; ./gtests
|
make -j${CORES} gtests ; ./gtests
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue