Move cmake compile options to the example project (#872)
* Move GCC compile option to GCC folder with toolchain option * Add CI flow to build cmake example * Fix CI * formatting && enable Werror * Add useless variable to test CI * revert useless variable * Add comments as examples. * Remove default compile options. * Formatting * Remove compile option in kernel cmake and put the sample in examples/cmake_example --------- Co-authored-by: Joseph Julicher <jjulicher@mac.com>
This commit is contained in:
@ -21,6 +21,45 @@ set(FREERTOS_PORT "TEMPLATE" CACHE STRING "" FORCE)
|
||||
# Adding the FreeRTOS-Kernel subdirectory
|
||||
add_subdirectory(${FREERTOS_KERNEL_PATH} FreeRTOS-Kernel)
|
||||
|
||||
########################################################################
|
||||
# Overall Compile Options
|
||||
# Note the compile option strategy is to error on everything and then
|
||||
# Per library opt-out of things that are warnings/errors.
|
||||
# This ensures that no matter what strategy for compilation you take, the
|
||||
# builds will still occur.
|
||||
#
|
||||
# Only tested with GNU and Clang.
|
||||
# Other options are https://cmake.org/cmake/help/latest/variable/CMAKE_LANG_COMPILER_ID.html#variable:CMAKE_%3CLANG%3E_COMPILER_ID
|
||||
# Naming of compilers translation map:
|
||||
#
|
||||
# FreeRTOS | CMake
|
||||
# -------------------
|
||||
# CCS | ?TBD?
|
||||
# GCC | GNU, Clang, *Clang Others?
|
||||
# IAR | IAR
|
||||
# Keil | ARMCC
|
||||
# MSVC | MSVC # Note only for MinGW?
|
||||
# Renesas | ?TBD?
|
||||
|
||||
target_compile_options(freertos_kernel PRIVATE
|
||||
### Gnu/Clang C Options
|
||||
$<$<COMPILE_LANG_AND_ID:C,GNU>:-fdiagnostics-color=always>
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang>:-fcolor-diagnostics>
|
||||
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wall>
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wextra>
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wpedantic>
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Werror>
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang,GNU>:-Wconversion>
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Weverything>
|
||||
|
||||
# Suppressions required to build clean with clang.
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-unused-macros>
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-padded>
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-missing-variable-declarations>
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-covered-switch-default>
|
||||
$<$<COMPILE_LANG_AND_ID:C,Clang>:-Wno-cast-align> )
|
||||
|
||||
add_executable(${PROJECT_NAME}
|
||||
main.c
|
||||
)
|
||||
|
Reference in New Issue
Block a user