Files
VEFontCache-Odin/thirdparty/sokol-tools/fips-files/include.cmake
2025-04-14 14:49:36 -04:00

26 lines
1.3 KiB
CMake

macro(sokol_shader shd slang)
set(args "{slang: '${slang}', compiler: '${CMAKE_C_COMPILER_ID}' }")
fips_generate(TYPE SokolShader FROM ${shd} HEADER ${shd}.h OUT_OF_SOURCE ARGS ${args})
endmacro()
# special version which doesn't generate binary output, this allows shaders to be debugged
macro(sokol_shader_debuggable shd slang)
set(args "{slang: '${slang}', compiler: '${CMAKE_C_COMPILER_ID}', debuggable: true }")
fips_generate(TYPE SokolShader FROM ${shd} HEADER ${shd}.h OUT_OF_SOURCE ARGS ${args})
endmacro()
macro(sokol_shader_variant shd slang module defines)
set(args "{slang: '${slang}', compiler: '${CMAKE_C_COMPILER_ID}', defines: '${defines}', module: '${module}' }")
fips_generate(TYPE SokolShader FROM ${shd} HEADER ${shd}.${module}.h OUT_OF_SOURCE ARGS ${args})
endmacro()
macro(sokol_shader_with_reflection shd slang)
set(args "{slang: '${slang}', compiler: '${CMAKE_C_COMPILER_ID}', reflection: true }")
fips_generate(TYPE SokolShader FROM ${shd} HEADER ${shd}.h OUT_OF_SOURCE ARGS ${args})
endmacro()
macro(sokol_shader_variant_with_reflection shd slang module defines)
set(args "{slang: '${slang}', compiler: '${CMAKE_C_COMPILER_ID}', defines: '${defines}', module: '${module}', reflection: true }")
fips_generate(TYPE SokolShader FROM ${shd} HEADER ${shd}.${module}.h OUT_OF_SOURCE ARGS ${args})
endmacro()