mirror of
https://thingvellir.net/git/overte
synced 2025-03-27 23:52:03 +01:00
spacing repairs in autoscribe_shader_lib
This commit is contained in:
parent
02dcc39185
commit
c9e18e8d90
2 changed files with 59 additions and 61 deletions
|
@ -1,77 +1,75 @@
|
||||||
#
|
#
|
||||||
# AutoScribeShader.cmake
|
# AutoScribeShader.cmake
|
||||||
#
|
#
|
||||||
# Created by Sam Gateau on 12/17/14.
|
# Created by Sam Gateau on 12/17/14.
|
||||||
# Copyright 2014 High Fidelity, Inc.
|
# Copyright 2014 High Fidelity, Inc.
|
||||||
#
|
#
|
||||||
# Distributed under the Apache License, Version 2.0.
|
# Distributed under the Apache License, Version 2.0.
|
||||||
# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
# See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
|
||||||
#
|
#
|
||||||
|
|
||||||
function(AUTOSCRIBE_SHADER SHADER_FILE)
|
function(AUTOSCRIBE_SHADER SHADER_FILE)
|
||||||
|
# Grab include files
|
||||||
# Grab include files
|
foreach(includeFile ${ARGN})
|
||||||
foreach(includeFile ${ARGN})
|
list(APPEND SHADER_INCLUDE_FILES ${includeFile})
|
||||||
list(APPEND SHADER_INCLUDE_FILES ${includeFile})
|
endforeach()
|
||||||
endforeach()
|
|
||||||
|
|
||||||
foreach(SHADER_INCLUDE ${SHADER_INCLUDE_FILES})
|
foreach(SHADER_INCLUDE ${SHADER_INCLUDE_FILES})
|
||||||
get_filename_component(INCLUDE_DIR ${SHADER_INCLUDE} PATH)
|
get_filename_component(INCLUDE_DIR ${SHADER_INCLUDE} PATH)
|
||||||
list(APPEND SHADER_INCLUDES_PATHS ${INCLUDE_DIR})
|
list(APPEND SHADER_INCLUDES_PATHS ${INCLUDE_DIR})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
#Extract the unique include shader paths
|
||||||
|
set(INCLUDES ${HIFI_LIBRARIES_SHADER_INCLUDE_FILES})
|
||||||
|
#message(${TARGET_NAME} Hifi for includes ${INCLUDES})
|
||||||
|
foreach(EXTRA_SHADER_INCLUDE ${INCLUDES})
|
||||||
|
list(APPEND SHADER_INCLUDES_PATHS ${EXTRA_SHADER_INCLUDE})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
#Extract the unique include shader paths
|
list(REMOVE_DUPLICATES SHADER_INCLUDES_PATHS)
|
||||||
set(INCLUDES ${HIFI_LIBRARIES_SHADER_INCLUDE_FILES})
|
#message(ready for includes ${SHADER_INCLUDES_PATHS})
|
||||||
#message(${TARGET_NAME} Hifi for includes ${INCLUDES})
|
|
||||||
foreach(EXTRA_SHADER_INCLUDE ${INCLUDES})
|
|
||||||
list(APPEND SHADER_INCLUDES_PATHS ${EXTRA_SHADER_INCLUDE})
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
list(REMOVE_DUPLICATES SHADER_INCLUDES_PATHS)
|
# make the scribe include arguments
|
||||||
#message(ready for includes ${SHADER_INCLUDES_PATHS})
|
set(SCRIBE_INCLUDES)
|
||||||
|
foreach(INCLUDE_PATH ${SHADER_INCLUDES_PATHS})
|
||||||
|
set(SCRIBE_INCLUDES ${SCRIBE_INCLUDES} -I ${INCLUDE_PATH}/)
|
||||||
|
endforeach()
|
||||||
|
|
||||||
# make the scribe include arguments
|
# Define the final name of the generated shader file
|
||||||
set(SCRIBE_INCLUDES)
|
get_filename_component(SHADER_TARGET ${SHADER_FILE} NAME_WE)
|
||||||
foreach(INCLUDE_PATH ${SHADER_INCLUDES_PATHS})
|
get_filename_component(SHADER_EXT ${SHADER_FILE} EXT)
|
||||||
set(SCRIBE_INCLUDES ${SCRIBE_INCLUDES} -I ${INCLUDE_PATH}/)
|
if(SHADER_EXT STREQUAL .slv)
|
||||||
endforeach()
|
set(SHADER_TARGET ${SHADER_TARGET}_vert.h)
|
||||||
|
elseif(${SHADER_EXT} STREQUAL .slf)
|
||||||
|
set(SHADER_TARGET ${SHADER_TARGET}_frag.h)
|
||||||
|
elseif(${SHADER_EXT} STREQUAL .slg)
|
||||||
|
set(SHADER_TARGET ${SHADER_TARGET}_geom.h)
|
||||||
|
endif()
|
||||||
|
|
||||||
# Define the final name of the generated shader file
|
set(SHADER_TARGET "${SHADERS_DIR}/${SHADER_TARGET}")
|
||||||
get_filename_component(SHADER_TARGET ${SHADER_FILE} NAME_WE)
|
|
||||||
get_filename_component(SHADER_EXT ${SHADER_FILE} EXT)
|
|
||||||
if(SHADER_EXT STREQUAL .slv)
|
|
||||||
set(SHADER_TARGET ${SHADER_TARGET}_vert.h)
|
|
||||||
elseif(${SHADER_EXT} STREQUAL .slf)
|
|
||||||
set(SHADER_TARGET ${SHADER_TARGET}_frag.h)
|
|
||||||
elseif(${SHADER_EXT} STREQUAL .slg)
|
|
||||||
set(SHADER_TARGET ${SHADER_TARGET}_geom.h)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(SHADER_TARGET "${SHADERS_DIR}/${SHADER_TARGET}")
|
# Target dependant Custom rule on the SHADER_FILE
|
||||||
|
if (APPLE)
|
||||||
|
set(GLPROFILE MAC_GL)
|
||||||
|
set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||||
|
|
||||||
# Target dependant Custom rule on the SHADER_FILE
|
add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||||
if (APPLE)
|
elseif (UNIX)
|
||||||
set(GLPROFILE MAC_GL)
|
set(GLPROFILE LINUX_GL)
|
||||||
set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||||
elseif (UNIX)
|
else ()
|
||||||
set(GLPROFILE LINUX_GL)
|
set(GLPROFILE PC_GL)
|
||||||
set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
||||||
else ()
|
endif()
|
||||||
set(GLPROFILE PC_GL)
|
|
||||||
set(SCRIBE_ARGS -c++ -D GLPROFILE ${GLPROFILE} ${SCRIBE_INCLUDES} -o ${SHADER_TARGET} ${SHADER_FILE})
|
|
||||||
|
|
||||||
add_custom_command(OUTPUT ${SHADER_TARGET} COMMAND scribe ${SCRIBE_ARGS} DEPENDS scribe ${SHADER_INCLUDE_FILES} ${SHADER_FILE})
|
#output the generated file name
|
||||||
endif()
|
set(AUTOSCRIBE_SHADER_RETURN ${SHADER_TARGET} PARENT_SCOPE)
|
||||||
|
|
||||||
#output the generated file name
|
file(GLOB INCLUDE_FILES ${SHADER_TARGET})
|
||||||
set(AUTOSCRIBE_SHADER_RETURN ${SHADER_TARGET} PARENT_SCOPE)
|
|
||||||
|
|
||||||
file(GLOB INCLUDE_FILES ${SHADER_TARGET})
|
|
||||||
|
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
|
@ -79,11 +77,11 @@ endfunction()
|
||||||
macro(AUTOSCRIBE_SHADER_LIB)
|
macro(AUTOSCRIBE_SHADER_LIB)
|
||||||
set(HIFI_LIBRARIES_SHADER_INCLUDE_FILES "")
|
set(HIFI_LIBRARIES_SHADER_INCLUDE_FILES "")
|
||||||
file(RELATIVE_PATH RELATIVE_LIBRARY_DIR_PATH ${CMAKE_CURRENT_SOURCE_DIR} "${HIFI_LIBRARY_DIR}")
|
file(RELATIVE_PATH RELATIVE_LIBRARY_DIR_PATH ${CMAKE_CURRENT_SOURCE_DIR} "${HIFI_LIBRARY_DIR}")
|
||||||
foreach(HIFI_LIBRARY ${ARGN})
|
foreach(HIFI_LIBRARY ${ARGN})
|
||||||
#if (NOT TARGET ${HIFI_LIBRARY})
|
#if (NOT TARGET ${HIFI_LIBRARY})
|
||||||
# file(GLOB_RECURSE HIFI_LIBRARIES_SHADER_INCLUDE_FILES ${RELATIVE_LIBRARY_DIR_PATH}/${HIFI_LIBRARY}/src/)
|
# file(GLOB_RECURSE HIFI_LIBRARIES_SHADER_INCLUDE_FILES ${RELATIVE_LIBRARY_DIR_PATH}/${HIFI_LIBRARY}/src/)
|
||||||
#endif ()
|
#endif ()
|
||||||
|
|
||||||
#file(GLOB_RECURSE HIFI_LIBRARIES_SHADER_INCLUDE_FILES ${HIFI_LIBRARY_DIR}/${HIFI_LIBRARY}/src/*.slh)
|
#file(GLOB_RECURSE HIFI_LIBRARIES_SHADER_INCLUDE_FILES ${HIFI_LIBRARY_DIR}/${HIFI_LIBRARY}/src/*.slh)
|
||||||
list(APPEND HIFI_LIBRARIES_SHADER_INCLUDE_FILES ${HIFI_LIBRARY_DIR}/${HIFI_LIBRARY}/src)
|
list(APPEND HIFI_LIBRARIES_SHADER_INCLUDE_FILES ${HIFI_LIBRARY_DIR}/${HIFI_LIBRARY}/src)
|
||||||
endforeach()
|
endforeach()
|
||||||
|
@ -99,9 +97,9 @@ macro(AUTOSCRIBE_SHADER_LIB)
|
||||||
#message("${TARGET_NAME} ${SHADER_INCLUDE_FILES}")
|
#message("${TARGET_NAME} ${SHADER_INCLUDE_FILES}")
|
||||||
set(AUTOSCRIBE_SHADER_SRC "")
|
set(AUTOSCRIBE_SHADER_SRC "")
|
||||||
foreach(SHADER_FILE ${SHADER_SOURCE_FILES})
|
foreach(SHADER_FILE ${SHADER_SOURCE_FILES})
|
||||||
AUTOSCRIBE_SHADER(${SHADER_FILE} ${SHADER_INCLUDE_FILES})
|
AUTOSCRIBE_SHADER(${SHADER_FILE} ${SHADER_INCLUDE_FILES})
|
||||||
file(TO_CMAKE_PATH "${AUTOSCRIBE_SHADER_RETURN}" AUTOSCRIBE_GENERATED_FILE)
|
file(TO_CMAKE_PATH "${AUTOSCRIBE_SHADER_RETURN}" AUTOSCRIBE_GENERATED_FILE)
|
||||||
list(APPEND AUTOSCRIBE_SHADER_SRC ${AUTOSCRIBE_GENERATED_FILE})
|
list(APPEND AUTOSCRIBE_SHADER_SRC ${AUTOSCRIBE_GENERATED_FILE})
|
||||||
endforeach()
|
endforeach()
|
||||||
#message(${TARGET_NAME} ${AUTOSCRIBE_SHADER_SRC})
|
#message(${TARGET_NAME} ${AUTOSCRIBE_SHADER_SRC})
|
||||||
|
|
||||||
|
@ -118,4 +116,4 @@ macro(AUTOSCRIBE_SHADER_LIB)
|
||||||
# Link library shaders, if they exist
|
# Link library shaders, if they exist
|
||||||
include_directories("${SHADERS_DIR}")
|
include_directories("${SHADERS_DIR}")
|
||||||
|
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
set(TARGET_NAME gpu)
|
set(TARGET_NAME gpu)
|
||||||
AUTOSCRIBE_SHADER_LIB(gpu)
|
autoscribe_shader_lib(gpu)
|
||||||
setup_hifi_library()
|
setup_hifi_library()
|
||||||
link_hifi_libraries(shared)
|
link_hifi_libraries(shared)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue