llext-edk: fix -imacros handling
The -imacros flag may be given in a number of different variations: - with one or two preceding dashes, and - separated from its argument, joined by an equals sign, or joined with no separator This patch fixes the handling of the -imacros flag in the LLEXT EDK to detect all of those options. Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
This commit is contained in:
parent
cacf8f6a47
commit
b1e3fa4d77
1 changed files with 13 additions and 2 deletions
|
@ -168,9 +168,20 @@ set(install_dir_var "${llext_edk_name_sane}_INSTALL_DIR")
|
||||||
|
|
||||||
set(make_relative FALSE)
|
set(make_relative FALSE)
|
||||||
foreach(flag ${llext_edk_cflags})
|
foreach(flag ${llext_edk_cflags})
|
||||||
if (flag STREQUAL "-imacros")
|
# Detect all combinations of 'imacros' flag:
|
||||||
|
# - with one or two preceding dashes
|
||||||
|
# - separated from the argument, joined by '=', or joined (no separator)
|
||||||
|
if(flag MATCHES "^--?imacros$")
|
||||||
|
# imacros followed by a space, convert next argument
|
||||||
set(make_relative TRUE)
|
set(make_relative TRUE)
|
||||||
elseif (make_relative)
|
continue()
|
||||||
|
elseif(flag MATCHES "^--?imacros=?([^=].*)$")
|
||||||
|
# imacros=<stuff> or imacros<stuff>, immediately convert <stuff>
|
||||||
|
set(flag ${CMAKE_MATCH_1})
|
||||||
|
set(make_relative TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(make_relative)
|
||||||
set(make_relative FALSE)
|
set(make_relative FALSE)
|
||||||
cmake_path(GET flag PARENT_PATH parent)
|
cmake_path(GET flag PARENT_PATH parent)
|
||||||
cmake_path(GET flag FILENAME name)
|
cmake_path(GET flag FILENAME name)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue