|
| 1 | +diff --git a/embed-binaries/embed-binaries.cmake b/embed-binaries/embed-binaries.cmake |
| 2 | +index d46353e..1f54841 100644 |
| 3 | +--- a/embed-binaries/embed-binaries.cmake |
| 4 | ++++ b/embed-binaries/embed-binaries.cmake |
| 5 | +@@ -1,7 +1,3 @@ |
| 6 | +-cmake_minimum_required(VERSION |
| 7 | +- 3.17.5 # foreach(loop-var... IN ZIP_LISTS <lists>...) |
| 8 | +-) |
| 9 | +- |
| 10 | + include_guard() |
| 11 | + |
| 12 | + function(generate_code_to_embed_binary asset_name asset_path byte_type constexpr null_terminate out_generated_header out_generated_implementation) |
| 13 | +@@ -145,12 +141,17 @@ function(embed_binaries target_name) |
| 14 | + list(APPEND asset_${param_name}s ${asset_${param_name}}) |
| 15 | + endforeach() |
| 16 | + |
| 17 | +- foreach(param_name default_value IN ZIP_LISTS asset_optional_args asset_optional_args_defaults) |
| 18 | +- if (NOT DEFINED asset_${param_name}) |
| 19 | +- set(asset_${param_name} ${default_value}) |
| 20 | ++ list(LENGTH asset_optional_args _alen) |
| 21 | ++ math(EXPR alen "${_alen} - 1") |
| 22 | ++ |
| 23 | ++ foreach(i RANGE ${alen}) |
| 24 | ++ list(GET asset_optional_args ${i} arg_key) |
| 25 | ++ list(GET asset_optional_args_defaults ${i} arg_dflt_val) |
| 26 | ++ if (NOT DEFINED asset_${arg_key}) |
| 27 | ++ set(asset_${arg_key} ${arg_dflt_val}) |
| 28 | + endif() |
| 29 | + |
| 30 | +- list(APPEND asset_${param_name}s ${asset_${param_name}}) |
| 31 | ++ list(APPEND asset_${arg_key}s ${asset_${arg_key}}) |
| 32 | + endforeach() |
| 33 | + endwhile() |
| 34 | + |
| 35 | +@@ -173,10 +174,16 @@ function(embed_binaries target_name) |
| 36 | + target_compile_features("${target_name}" INTERFACE cxx_constexpr) |
| 37 | + endif() |
| 38 | + |
| 39 | +- foreach( |
| 40 | +- asset_NAME asset_PATH asset_CONSTEXPR asset_BYTE_TYPE asset_NULL_TERMINATE |
| 41 | +- IN ZIP_LISTS |
| 42 | +- asset_NAMEs asset_PATHs asset_CONSTEXPRs asset_BYTE_TYPEs asset_NULL_TERMINATEs) |
| 43 | ++ list(LENGTH asset_NAMEs _nlen) |
| 44 | ++ math(EXPR nlen "${_nlen} - 1") |
| 45 | ++ |
| 46 | ++ foreach(i RANGE ${nlen}) |
| 47 | ++ list(GET asset_NAMEs ${i} asset_NAME) |
| 48 | ++ list(GET asset_PATHs ${i} asset_PATH) |
| 49 | ++ list(GET asset_CONSTEXPRs ${i} asset_CONSTEXPR) |
| 50 | ++ list(GET asset_BYTE_TYPEs ${i} asset_BYTE_TYPE) |
| 51 | ++ list(GET asset_NULL_TERMINATEs ${i} asset_NULL_TERMINATE) |
| 52 | ++ |
| 53 | + string(MAKE_C_IDENTIFIER "${asset_NAME}" asset_name_identifier) |
| 54 | + |
| 55 | + get_filename_component(asset_PATH ${asset_PATH} ABSOLUTE) |
0 commit comments