Merge pull request #4706 from ReinUsesLisp/cmake-host-shaders
video_core: Fix instances where msbuild always regenerated host shaders
This commit is contained in:
commit
3e46934442
|
@ -1,23 +1,16 @@
|
|||
set(SHADER_FILES
|
||||
set(SHADER_SOURCES
|
||||
opengl_present.frag
|
||||
opengl_present.vert
|
||||
)
|
||||
|
||||
set(SHADER_INCLUDE ${CMAKE_CURRENT_BINARY_DIR}/include)
|
||||
set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE)
|
||||
|
||||
set(SHADER_DIR ${SHADER_INCLUDE}/video_core/host_shaders)
|
||||
add_custom_command(
|
||||
OUTPUT
|
||||
${SHADER_DIR}
|
||||
COMMAND
|
||||
${CMAKE_COMMAND} -E make_directory ${SHADER_DIR}
|
||||
)
|
||||
set(HOST_SHADERS_INCLUDE ${SHADER_INCLUDE} PARENT_SCOPE)
|
||||
|
||||
set(INPUT_FILE ${CMAKE_CURRENT_SOURCE_DIR}/source_shader.h.in)
|
||||
set(HEADER_GENERATOR ${CMAKE_CURRENT_SOURCE_DIR}/StringShaderHeader.cmake)
|
||||
|
||||
foreach(FILENAME IN ITEMS ${SHADER_FILES})
|
||||
foreach(FILENAME IN ITEMS ${SHADER_SOURCES})
|
||||
string(REPLACE "." "_" SHADER_NAME ${FILENAME})
|
||||
set(SOURCE_FILE ${CMAKE_CURRENT_SOURCE_DIR}/${FILENAME})
|
||||
set(HEADER_FILE ${SHADER_DIR}/${SHADER_NAME}.h)
|
||||
|
@ -29,8 +22,8 @@ foreach(FILENAME IN ITEMS ${SHADER_FILES})
|
|||
MAIN_DEPENDENCY
|
||||
${SOURCE_FILE}
|
||||
DEPENDS
|
||||
${HEADER_GENERATOR}
|
||||
${INPUT_FILE}
|
||||
# HEADER_GENERATOR should be included here but msbuild seems to assume it's always modified
|
||||
)
|
||||
set(SHADER_HEADERS ${SHADER_HEADERS} ${HEADER_FILE})
|
||||
endforeach()
|
||||
|
@ -39,5 +32,5 @@ add_custom_target(host_shaders
|
|||
DEPENDS
|
||||
${SHADER_HEADERS}
|
||||
SOURCES
|
||||
${SHADER_FILES}
|
||||
${SHADER_SOURCES}
|
||||
)
|
||||
|
|
|
@ -8,4 +8,6 @@ string(TOUPPER ${CONTENTS_NAME} CONTENTS_NAME)
|
|||
|
||||
file(READ ${SOURCE_FILE} CONTENTS)
|
||||
|
||||
get_filename_component(OUTPUT_DIR ${HEADER_FILE} DIRECTORY)
|
||||
make_directory(${OUTPUT_DIR})
|
||||
configure_file(${INPUT_FILE} ${HEADER_FILE} @ONLY)
|
||||
|
|
Reference in New Issue