Files
bearstonem--openmohaa-vr/cmake/utils/stringify_shader.cmake
T
smallmodelandTim Angus e556f58cc4 Reimplement CMake from upstream ioq3 (#781)
This reuse the CMake build system from ioq3, modified to make it work with the C++ code.

---------

Co-authored-by: Tim Angus <tim@ngus.net>
2025-08-08 01:03:07 +02:00

14 lines
497 B
CMake

# Convert a shader file to a compilable C file
# INPUT_FILE, OUTPUT_FILE, SHADER_NAME must be set via -D
file(READ ${INPUT_FILE} CONTENTS)
string(REPLACE "\\" "\\\\" CONTENTS "${CONTENTS}") # Escape backslashes
string(REPLACE "\"" "\\\"" CONTENTS "${CONTENTS}") # Escape double quotes
string(REPLACE "\n" "\\n\"\n\"" CONTENTS "${CONTENTS}") # Escape newlines
set(OUTPUT_CONTENT "const char *fallbackShader_${SHADER_NAME} =\n\"${CONTENTS}\";\n")
file(WRITE ${OUTPUT_FILE} "${OUTPUT_CONTENT}")