Skip to content

Commit 09ec4b4

Browse files
committed
rename NBL_REGISTER_SPIRV_SHADERS to NBL_REGISTER_BUILD_MOUNT_POINT, make it more general purpose, update examples_tests submodule
1 parent 3e8e08d commit 09ec4b4

File tree

2 files changed

+27
-17
lines changed

2 files changed

+27
-17
lines changed

cmake/common.cmake

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1228,35 +1228,39 @@ function(NBL_ADJUST_FOLDERS NS)
12281228
endforeach()
12291229
endfunction()
12301230

1231-
function(NBL_REGISTER_SPIRV_SHADERS)
1232-
cmake_parse_arguments(IMPL "" "DISCARD;LINK_TO;MOUNT_POINT_DEFINE" "PERMUTE;REQUIRED;ARCHIVE;INPUTS" ${ARGN})
1233-
1234-
if(NOT IMPL_MOUNT_POINT_DEFINE)
1235-
message(FATAL_ERROR "MOUNT_POINT_DEFINE argument missing!")
1236-
endif()
1231+
function(NBL_REGISTER_BUILD_MOUNT_POINT)
1232+
cmake_parse_arguments(IMPL "" "DISCARD;LINK_TO" "PERMUTE;REQUIRED;ARCHIVE;SHADERS;BUILTINS" ${ARGN})
12371233

12381234
if(NOT IMPL_ARCHIVE)
12391235
message(FATAL_ERROR "ARCHIVE arguments missing!")
12401236
endif()
12411237

1242-
cmake_parse_arguments(IMPL "" "TARGET;INPUT_DIRECTORY;NAMESPACE;PREFIX" "" ${IMPL_ARCHIVE})
1238+
cmake_parse_arguments(IMPL "" "TARGET;INPUT_DIRECTORY;OUTPUT_DIRECTORY;NAMESPACE;PREFIX;MOUNT_POINT_DEFINE" "" ${IMPL_ARCHIVE})
12431239

12441240
if(NOT IMPL_TARGET)
12451241
message(FATAL_ERROR "Missing TARGET argument in ARCHIVE specification!")
12461242
endif()
12471243

12481244
if(NOT IMPL_INPUT_DIRECTORY)
1249-
message(FATAL_ERROR "Missing INPUT_DIRECTORY argument in ARCHIVE specification!")
1245+
set(IMPL_INPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
1246+
endif()
1247+
1248+
if(NOT IMPL_OUTPUT_DIRECTORY)
1249+
set(IMPL_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
12501250
endif()
12511251

12521252
if(NOT IMPL_NAMESPACE)
12531253
message(FATAL_ERROR "Missing NAMESPACE argument in ARCHIVE specification!")
12541254
endif()
12551255

1256+
if(NOT IMPL_MOUNT_POINT_DEFINE)
1257+
message(FATAL_ERROR "MOUNT_POINT_DEFINE argument missing!")
1258+
endif()
1259+
12561260
set(_BUNDLE_ARCHIVE_ABSOLUTE_PATH_ ${IMPL_PREFIX})
1257-
get_filename_component(_BUNDLE_SEARCH_DIRECTORY_ "${CMAKE_CURRENT_BINARY_DIR}/builtin/spirv/shaders/mount-point" ABSOLUTE)
1258-
get_filename_component(_OUTPUT_DIRECTORY_SOURCE_ "${CMAKE_CURRENT_BINARY_DIR}/builtin/spirv/archive/src" ABSOLUTE)
1259-
get_filename_component(_OUTPUT_DIRECTORY_HEADER_ "${CMAKE_CURRENT_BINARY_DIR}/builtin/spirv/archive/include" ABSOLUTE)
1261+
get_filename_component(_BUNDLE_SEARCH_DIRECTORY_ "${IMPL_OUTPUT_DIRECTORY}" ABSOLUTE)
1262+
get_filename_component(_OUTPUT_DIRECTORY_SOURCE_ "${IMPL_OUTPUT_DIRECTORY}/archive/src" ABSOLUTE)
1263+
get_filename_component(_OUTPUT_DIRECTORY_HEADER_ "${IMPL_OUTPUT_DIRECTORY}/archive/include" ABSOLUTE)
12601264

12611265
set(_BUILTIN_RESOURCES_NAMESPACE_ ${IMPL_NAMESPACE})
12621266
set(_LINK_MODE_ STATIC)
@@ -1346,23 +1350,23 @@ glue device permutation caps config with input
13461350

13471351
# create compile rules for given input with permuted config
13481352
set(i 0)
1349-
list(LENGTH IMPL_INPUTS LEN)
1353+
list(LENGTH IMPL_SHADERS LEN)
13501354
while(i LESS LEN)
1351-
list(GET IMPL_INPUTS ${i} TOKEN)
1355+
list(GET IMPL_SHADERS ${i} TOKEN)
13521356
if(TOKEN STREQUAL "KEY")
13531357
math(EXPR i "${i} + 1")
1354-
list(GET IMPL_INPUTS ${i} FILEPATH)
1358+
list(GET IMPL_SHADERS ${i} FILEPATH)
13551359
set(COMPILE_OPTIONS "")
13561360
math(EXPR i "${i} + 1")
13571361

1358-
list(GET IMPL_INPUTS ${i} NEXT)
1362+
list(GET IMPL_SHADERS ${i} NEXT)
13591363
if(NOT NEXT STREQUAL "COMPILE_OPTIONS")
13601364
message(FATAL_ERROR "Expected COMPILE_OPTIONS after KEY ${FILEPATH}")
13611365
endif()
13621366
math(EXPR i "${i} + 1")
13631367

13641368
while(i LESS LEN)
1365-
list(GET IMPL_INPUTS ${i} ARG)
1369+
list(GET IMPL_SHADERS ${i} ARG)
13661370
if(ARG STREQUAL "KEY")
13671371
break()
13681372
endif()
@@ -1457,6 +1461,12 @@ glue device permutation caps config with input
14571461
endforeach()
14581462

14591463
if(NBL_EMBED_BUILTIN_RESOURCES)
1464+
if(IMPL_BUILTINS)
1465+
foreach(IT ${IMPL_BUILTINS})
1466+
LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED ${IT})
1467+
endforeach()
1468+
endif()
1469+
14601470
ADD_CUSTOM_BUILTIN_RESOURCES(${IMPL_TARGET} NBL_RESOURCES_TO_EMBED "${_BUNDLE_SEARCH_DIRECTORY_}" "${_BUNDLE_ARCHIVE_ABSOLUTE_PATH_}" "${_BUILTIN_RESOURCES_NAMESPACE_}" "${_OUTPUT_DIRECTORY_HEADER_}" "${_OUTPUT_DIRECTORY_SOURCE_}" "${_LINK_MODE_}")
14611471
else()
14621472
add_library(${IMPL_TARGET} INTERFACE)

0 commit comments

Comments
 (0)