cmake: Toolchain abstraction: optimizations
Introduce toolchain_cc_optimize_for_* family of macros. Each macro represents a general optimization class. Each macro is then responsible for setting an output variable to that class-of-optimization's flag. The names of these output variables are decided from the root CMakeLists.txt. No functional change expected. Clang's optimization flags are compatible with gcc, and are thus inherited. This is motivated by the wish to abstract Zephyr's usage of toolchains, permitting easier porting to other (commercial) toolchains. Signed-off-by: Mark Ruvald Pedersen <mped@oticon.com>
This commit is contained in:
parent
d5b2834f58
commit
0b3c65feea
5 changed files with 49 additions and 14 deletions
|
@ -56,3 +56,4 @@ string(REPLACE ";" " " CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS}")
|
|||
# Clang and GCC are almost feature+flag compatible, so reuse freestanding gcc
|
||||
include(${ZEPHYR_BASE}/cmake/compiler/gcc/target_security_fortify.cmake)
|
||||
include(${ZEPHYR_BASE}/cmake/compiler/gcc/target_security_canaries.cmake)
|
||||
include(${ZEPHYR_BASE}/cmake/compiler/gcc/target_optimizations.cmake)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue