cmake: Use EXTRAFLAGS to define customized compilation options

align them with the usage habits of makefile

cmake:

cmake -B build -DBOARD_CONFIG=sim/nsh -GNinja -DEXTRAFLAGS="-DCONFIG_AAA=1 -DCONFIG_BBB=1 -Werror"

makefile:

make -j12 EXTRAFLAGS="-DCONFIG_AAA=1 -DCONFIG_BBB=1 -Werror"

Signed-off-by: chao an <anchao.archer@bytedance.com>
This commit is contained in:
chao an
2025-01-18 09:09:25 +08:00
committed by Xiang Xiao
parent 4c2be5bb7f
commit 9f5a45340f
2 changed files with 7 additions and 16 deletions

View File

@@ -53,6 +53,13 @@ function(nuttx_add_library_internal target)
${target}
PRIVATE $<GENEX_EVAL:$<TARGET_PROPERTY:nuttx,NUTTX_INCLUDE_DIRECTORIES>>)
# add extra flags into command line
if(DEFINED EXTRAFLAGS)
string(REPLACE " " ";" eflags "${EXTRAFLAGS}")
target_compile_options(${target} PRIVATE ${eflags})
endif()
# Set install config for all library
install(TARGETS ${target})
endfunction()

View File

@@ -135,22 +135,6 @@ foreach(NameAndValue ${ConfigContents})
endif()
endforeach()
# cmake-format: off
# add support of set custom command options to config.h
# Use the -D parameter to pass the config to header file.
# NOTE which must start with the CONFIG_ prefix.
# eg:
# cmake -DCONFIG_AAA=1 -DCONFIG_BBB=1 -B build -DBOARD_CONFIG=sim/nsh -GNinja
# cmake-format: on
get_cmake_property(cache_vars CACHE_VARIABLES)
foreach(var ${cache_vars})
string(REGEX MATCH "^CONFIG_[^=]+" name ${var})
if(name)
file(APPEND ${CONFIG_H} "#define ${var} ${${var}}\n")
endif()
endforeach()
file(APPEND ${CONFIG_H}
"\n/* Sanity Checks *****************************************/\n\n")
file(APPEND ${CONFIG_H}