Change the output path of generated shaders

The paths now for output shaders is the same of the shader file inside of
a directory for the profile.
This commit is contained in:
Sandy Carter
2024-07-20 01:41:45 -04:00
committed by Sandy
parent 85b9f3cf5f
commit de5f4544ef

View File

@@ -598,9 +598,10 @@ if(TARGET bgfx::shaderc)
# Build output targets and their commands # Build output targets and their commands
set(OUTPUTS "") set(OUTPUTS "")
set(COMMANDS "") set(COMMANDS "")
set(MKDIR_COMMANDS "")
foreach(PROFILE ${PROFILES}) foreach(PROFILE ${PROFILES})
_bgfx_get_profile_ext(${PROFILE} PROFILE_EXT) _bgfx_get_profile_ext(${PROFILE} PROFILE_EXT)
set(OUTPUT ${ARGS_OUTPUT_DIR}/${SHADER_FILE_BASENAME}.${PROFILE_EXT}.bin$<ARGS_AS_HEADERS:.h>) set(OUTPUT ${ARGS_OUTPUT_DIR}/${PROFILE_EXT}/${SHADER_FILE_BASENAME}.bin$<$<BOOL:ARGS_AS_HEADERS>:.h>)
set(PLATFORM_I ${PLATFORM}) set(PLATFORM_I ${PLATFORM})
if(PROFILE STREQUAL "spirv") if(PROFILE STREQUAL "spirv")
set(PLATFORM_I LINUX) set(PLATFORM_I LINUX)
@@ -622,12 +623,21 @@ if(TARGET bgfx::shaderc)
) )
list(APPEND OUTPUTS ${OUTPUT}) list(APPEND OUTPUTS ${OUTPUT})
list(APPEND ALL_OUTPUTS ${OUTPUT}) list(APPEND ALL_OUTPUTS ${OUTPUT})
list(
APPEND
MKDIR_COMMANDS
COMMAND
${CMAKE_COMMAND}
-E
make_directory
${ARGS_OUTPUT_DIR}/${PROFILE_EXT}
)
list(APPEND COMMANDS COMMAND bgfx::shaderc ${CLI}) list(APPEND COMMANDS COMMAND bgfx::shaderc ${CLI})
endforeach() endforeach()
add_custom_command( add_custom_command(
OUTPUT ${OUTPUTS} OUTPUT ${OUTPUTS}
COMMAND ${CMAKE_COMMAND} -E make_directory ${ARGS_OUTPUT_DIR} ${COMMANDS} COMMAND ${MKDIR_COMMANDS} ${COMMANDS}
MAIN_DEPENDENCY ${SHADER_FILE_ABSOLUTE} MAIN_DEPENDENCY ${SHADER_FILE_ABSOLUTE}
DEPENDS ${ARGS_VARYING_DEF} DEPENDS ${ARGS_VARYING_DEF}
) )