|
| 1 | +# |
| 2 | +# Example arch_build_custom.cmake |
| 3 | +# ------------------------------- |
| 4 | +# |
| 5 | +# This file will be automatically included in the arch-specific build scope |
| 6 | +# |
| 7 | +# Definitions and options specified here will be used when cross-compiling |
| 8 | +# _all_ FSW code for _all_ targets defined in targets.cmake. |
| 9 | +# |
| 10 | +# Avoid machine-specific code generation options in this file (e.g. -f,-m options); such |
| 11 | +# options should be localized to the toolchain file such that they will only be |
| 12 | +# included on the machines where they apply. |
| 13 | +# |
| 14 | +# CAUTION: In heterogeneous environments where different cross compilers are |
| 15 | +# used for different CPUs, particularly if from different vendors, it is likely |
| 16 | +# that compile options will need to be different as well. |
| 17 | +# |
| 18 | +# In general, options in this file can only be used in cases where all CPUs use a |
| 19 | +# compiler from the same vendor and/or are all GCC based such that they accept similar |
| 20 | +# command line options. |
| 21 | +# |
| 22 | +# This file can alternatively be named as "arch_build_custom_${TARGETSYSTEM}.cmake" |
| 23 | +# where ${TARGETSYSTEM} represents the system type, matching the toolchain. |
| 24 | +# |
| 25 | +# These example options assume a GCC-style toolchain is used for cross compilation, |
| 26 | +# and uses the same warning options that are applied at the mission level. |
| 27 | +# |
| 28 | +add_compile_options( |
| 29 | + -std=c99 # Target the C99 standard (without gcc extensions) |
| 30 | + -pedantic # Issue all the warnings demanded by strict ISO C |
| 31 | + -Wall # Warn about most questionable operations |
| 32 | + -Wstrict-prototypes # Warn about missing prototypes |
| 33 | + -Wwrite-strings # Warn if not treating string literals as "const" |
| 34 | + -Wpointer-arith # Warn about suspicious pointer operations |
| 35 | + -Wcast-align # Warn about casts that increase alignment requirements |
| 36 | + -Werror # Treat warnings as errors (code should be clean) |
| 37 | +) |
| 38 | + |
0 commit comments