Skip to content

Commit 0a28dd5

Browse files
committed
embedtext binary mode
1 parent fae6ddd commit 0a28dd5

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1053,7 +1053,7 @@ if (BUILD_CLIENT)
10531053

10541054
add_custom_command(
10551055
OUTPUT ${outpath}
1056-
COMMAND ${CMAKE_COMMAND} "-DINPUT_FILE=${res}" "-DOUTPUT_FILE=${outpath}"
1056+
COMMAND ${CMAKE_COMMAND} "-DINPUT_FILE=${res}" "-DOUTPUT_FILE=${outpath}" -DTEXT_MODE=1
10571057
"-DVARIABLE_NAME=${filename_no_ext}_glsl" -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/EmbedText.cmake
10581058
MAIN_DEPENDENCY ${res}
10591059
)

cmake/EmbedText.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
# Converts a text file into a C-language char array definition.
22
# For use in CMake script mode (cmake -P).
3-
# Required definitions on command line: INPUT_FILE, OUTPUT_FILE, VARIABLE_NAME
3+
# Required definitions on command line: INPUT_FILE, OUTPUT_FILE, VARIABLE_NAME, TEXT_MODE
44

55
# Inspired by https://stackoverflow.com/questions/11813271/embed-resources-eg-shader-code-images-into-executable-library-with-cmake/27206982#27206982
66
file(READ ${INPUT_FILE} contents HEX)
7-
string(REGEX REPLACE "(0d)?(..)" "0x\\2," contents ${contents}) # Strip \r for consistency
7+
if (TEXT_MODE)
8+
string(REGEX REPLACE "(0d)?(..)" "0x\\2," contents ${contents}) # Strip \r for consistency
9+
else()
10+
string(REGEX REPLACE "(..)" "0x\\1," contents ${contents})
11+
endif()
812
file(WRITE ${OUTPUT_FILE} "const unsigned char ${VARIABLE_NAME}[] = {${contents}};\n")

0 commit comments

Comments
 (0)