aboutsummaryrefslogtreecommitdiff
path: root/cmake/FileEmbed.cmake
blob: d8fc8824a6c7473859373ab33bc3e581076ed0bf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
get_filename_component(bin_name ${bin_in} NAME)
string(REGEX REPLACE "\\.| |-" "_" bin_name ${bin_name})

set(c_out ${bin_name}.c)
set(h_out ${bin_name}.h)

file(READ ${bin_in} filedata HEX)

string(REGEX REPLACE  "([0-9a-f][0-9a-f])" "0x\\1," filedata ${filedata})

file(WRITE ${c_out} "#include <stdlib.h>\nconst unsigned char ${bin_name}[] = {${filedata}};\nconst size_t ${bin_name}_size = sizeof(${bin_name});\n")
file(WRITE ${h_out} "extern const unsigned char ${bin_name}[];\nextern const size_t ${bin_name}_size;\n")