yum-mirror/slang
Making it easier to work with shaders
git clone https://git.yummers.dev/yum-mirror/slang
b9300bae0
master
1# 2# Use the slang-embed tool to generate a source file for each prelude header. 3# Construct a library called 'prelude' to be linked with by slang 4# 5 6glob_append ( prelude_headers "*-prelude.h" ) 7 8set ( prelude_source ) 9foreach ( input${ prelude_headers }) 10get_filename_component ( input_name ${ input } NAME ) 11set ( output " ${ CMAKE_CURRENT_BINARY_DIR } / ${ input_name } .cpp" ) 12add_custom_command ( 13OUTPUT ${ output } 14COMMAND 15slang-embed " ${ input } " ${ output } 16"-I $ <JOIN: $ <TARGET_PROPERTY:core,INCLUDE_DIRECTORIES>, -I>" 17DEPENDS ${ input } slang-embed 18VERBATIM 19) 20list ( APPEND prelude_source ${ output }) 21endforeach () 22 23slang_add_target ( 24. 25OBJECT 26EXPORT_MACRO_PREFIX SLANG 27EXPLICIT_SOURCE ${ prelude_source } 28EXCLUDE_FROM_ALL 29TARGET_NAME prelude 30INCLUDE_DIRECTORIES_PUBLIC 31${ CMAKE_CURRENT_LIST_DIR } 32${ CMAKE_CURRENT_LIST_DIR } /../include 33EXPORT_TYPE_AS ${ SLANG_LIB_TYPE } 34LINK_WITH_PRIVATE unordered_dense::unordered_dense 35PUBLIC_HEADERS ${ CMAKE_CURRENT_LIST_DIR } /slang*.h 36# It's an object library, so the install step only installs the headers 37INSTALL 38FOLDER generated 39)