Skip to content

Commit b8c2ca1

Browse files
committed
handle DEPENDS in NBL_REGISTER_BUILD_MOUNT_POINT, update examples_tests
1 parent 09ec4b4 commit b8c2ca1

File tree

2 files changed

+30
-16
lines changed

2 files changed

+30
-16
lines changed

cmake/common.cmake

Lines changed: 29 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1267,12 +1267,6 @@ function(NBL_REGISTER_BUILD_MOUNT_POINT)
12671267

12681268
get_filename_component(BUILTIN_ARCHIVE_INPUT_ABS_ENTRY "${IMPL_INPUT_DIRECTORY}" ABSOLUTE)
12691269
set(BUILTIN_KEY_ENTRY_ABS "${BUILTIN_ARCHIVE_INPUT_ABS_ENTRY}/${_BUNDLE_ARCHIVE_ABSOLUTE_PATH_}")
1270-
1271-
# REMOVE IT AND ADD "DEPENDS" to INPUTS
1272-
# file(GLOB_RECURSE _DEPENDS_ON_ CONFIGURE_DEPENDS "${BUILTIN_KEY_ENTRY_ABS}/*.hlsl")
1273-
# list(FILTER _DEPENDS_ON_ EXCLUDE REGEX /preprocessed.hlsl)
1274-
# and maybe extra DEPENDS shared for all inputs
1275-
####################
12761270

12771271
set(SPIRV_OUTPUT_ARCHIVE_KEY_ABS_ENTRY_DIR "${_BUNDLE_SEARCH_DIRECTORY_}/${_BUNDLE_ARCHIVE_ABSOLUTE_PATH_}")
12781272

@@ -1357,6 +1351,7 @@ glue device permutation caps config with input
13571351
math(EXPR i "${i} + 1")
13581352
list(GET IMPL_SHADERS ${i} FILEPATH)
13591353
set(COMPILE_OPTIONS "")
1354+
set(DEPENDS_ON "")
13601355
math(EXPR i "${i} + 1")
13611356

13621357
list(GET IMPL_SHADERS ${i} NEXT)
@@ -1367,31 +1362,46 @@ glue device permutation caps config with input
13671362

13681363
while(i LESS LEN)
13691364
list(GET IMPL_SHADERS ${i} ARG)
1370-
if(ARG STREQUAL "KEY")
1365+
if(ARG STREQUAL "KEY" OR ARG STREQUAL "DEPENDS")
13711366
break()
13721367
endif()
13731368
list(APPEND COMPILE_OPTIONS "${ARG}")
13741369
math(EXPR i "${i} + 1")
13751370
endwhile()
13761371

1372+
if(i LESS LEN)
1373+
list(GET IMPL_SHADERS ${i} NEXT_TOKEN)
1374+
if(NEXT_TOKEN STREQUAL "DEPENDS")
1375+
math(EXPR i "${i} + 1")
1376+
while(i LESS LEN)
1377+
list(GET IMPL_SHADERS ${i} ARG)
1378+
if(ARG STREQUAL "KEY")
1379+
break()
1380+
endif()
1381+
list(APPEND DEPENDS_ON "${ARG}")
1382+
math(EXPR i "${i} + 1")
1383+
endwhile()
1384+
endif()
1385+
endif()
1386+
13771387
set(IMPL_KEY ${FILEPATH})
13781388
set(TARGET_KEY "${IMPL_KEY}${POSTFIX_ACCESS_KEY}${KEY_EXTENSION}")
13791389

13801390
if(IMPL_DISCARD AND "${POSTFIX_ACCESS_KEY}" MATCHES "${IMPL_DISCARD}")
13811391
if(NBL_LOG_VERBOSE)
1382-
message(STATUS "[Nabla Builtin SPIRV]: Discarded \"${TARGET_KEY}\" key for ${IMPL_TARGET}")
1392+
message(STATUS "[Nabla Builtin]: Discarded \"${TARGET_KEY}\" key for ${IMPL_TARGET} target")
13831393
endif()
13841394
continue()
13851395
endif()
13861396

13871397
if(NBL_LOG_VERBOSE)
1388-
message(STATUS "[Nabla Builtin SPIRV]: Registered \"${TARGET_KEY}\" key ${IMPL_TARGET}")
1398+
message(STATUS "[Nabla Builtin]: Registered \"${TARGET_KEY}\" key for ${IMPL_TARGET} target")
13891399
endif()
13901400

13911401
set(TARGET_INPUT "${BUILTIN_KEY_ENTRY_ABS}/${IMPL_KEY}")
13921402
list(APPEND REQUESTED_INPUTS "${TARGET_INPUT}")
1393-
set(TAGET_OUTPUT "${SPIRV_OUTPUT_ARCHIVE_KEY_ABS_ENTRY_DIR}/${TARGET_KEY}")
1394-
list(APPEND SPIRV_OUTPUTS "${TAGET_OUTPUT}")
1403+
set(TARGET_OUTPUT "${SPIRV_OUTPUT_ARCHIVE_KEY_ABS_ENTRY_DIR}/${TARGET_KEY}")
1404+
list(APPEND SPIRV_OUTPUTS "${TARGET_OUTPUT}")
13951405

13961406
# doing as workaround for (**), dynamic define include could be better because then I don't have to generate intermediate files with glue at configure time
13971407
set(INT_INPUT "${SPIRV_OUTPUT_ARCHIVE_KEY_ABS_ENTRY_DIR}/.int/${TARGET_KEY}")
@@ -1437,16 +1447,16 @@ glue device permutation caps config with input
14371447

14381448
set(NBL_NSC_COMPILE_COMMAND
14391449
"$<TARGET_FILE:nsc>"
1440-
-Fc "${TAGET_OUTPUT}"
1450+
-Fc "${TARGET_OUTPUT}"
14411451
${COMPILE_OPTIONS} ${REQUIRED_OPTIONS}
14421452
# "-DNBL_DYMANIC_INCLUDE=<${TARGET_INPUT}>" # (**)!
14431453
"${INT_INPUT}"
14441454
)
14451455

1446-
add_custom_command(OUTPUT "${TAGET_OUTPUT}"
1456+
add_custom_command(OUTPUT "${TARGET_OUTPUT}"
14471457
COMMAND ${NBL_NSC_COMPILE_COMMAND}
1448-
DEPENDS ${_DEPENDS_ON_} ${INT_INPUT}
1449-
COMMENT "Creating ${TAGET_OUTPUT}"
1458+
DEPENDS ${DEPENDS_ON} ${INT_INPUT}
1459+
COMMENT "Creating ${TARGET_OUTPUT}"
14501460
VERBATIM
14511461
COMMAND_EXPAND_LISTS
14521462
)
@@ -1463,6 +1473,10 @@ glue device permutation caps config with input
14631473
if(NBL_EMBED_BUILTIN_RESOURCES)
14641474
if(IMPL_BUILTINS)
14651475
foreach(IT ${IMPL_BUILTINS})
1476+
if(NBL_LOG_VERBOSE)
1477+
message(STATUS "[Nabla Builtin]: Registered \"${IT}\" key for ${IMPL_TARGET} target")
1478+
endif()
1479+
14661480
LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED ${IT})
14671481
endforeach()
14681482
endif()

0 commit comments

Comments
 (0)