2020-09-24 02:38:05 +02:00
|
|
|
set(SHADER_SOURCES
|
2020-08-24 02:28:15 +02:00
|
|
|
opengl_present.frag
|
|
|
|
opengl_present.vert
|
|
|
|
)
|
|
|
|
|
|
|
|
set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include)
|
|
|
|
set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders)
|
2020-09-24 02:38:05 +02:00
|
|
|
set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE)
|
2020-08-24 02:28:15 +02:00
|
|
|
|
|
|
|
set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in)
|
|
|
|
set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake)
|
|
|
|
|
2020-09-24 02:38:05 +02:00
|
|
|
foreach(FILENAME IN ITEMS ${SHADER_SOURCES})
|
2020-08-24 02:28:15 +02:00
|
|
|
string(REPLACE "." "_" SHADER_NAME ${FILENAME})
|
|
|
|
set(SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME})
|
|
|
|
set(HEADER_FILE ${SHADER_DIR}/${SHADER_NAME}.h)
|
|
|
|
add_custom_command(
|
|
|
|
OUTPUT
|
|
|
|
${HEADER_FILE}
|
|
|
|
COMMAND
|
|
|
|
${CMAKE_COMMAND} -P ${HEADER_GENERATOR} ${SOURCE_FILE} ${HEADER_FILE} ${INPUT_FILE}
|
|
|
|
MAIN_DEPENDENCY
|
|
|
|
${SOURCE_FILE}
|
|
|
|
DEPENDS
|
|
|
|
${INPUT_FILE}
|
2020-09-24 02:38:05 +02:00
|
|
|
# HEADER_GENERATOR should be included here but msbuild seems to assume it's always modified
|
2020-08-24 02:28:15 +02:00
|
|
|
)
|
|
|
|
set(SHADER_HEADERS ${SHADER_HEADERS} ${HEADER_FILE})
|
|
|
|
endforeach()
|
|
|
|
|
|
|
|
add_custom_target(host_shaders
|
|
|
|
DEPENDS
|
|
|
|
${SHADER_HEADERS}
|
|
|
|
SOURCES
|
2020-09-24 02:38:05 +02:00
|
|
|
${SHADER_SOURCES}
|
2020-08-24 02:28:15 +02:00
|
|
|
)
|