@@ -1228,35 +1228,39 @@ function(NBL_ADJUST_FOLDERS NS)
1228
1228
endforeach ()
1229
1229
endfunction ()
1230
1230
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} )
1237
1233
1238
1234
if (NOT IMPL_ARCHIVE )
1239
1235
message (FATAL_ERROR "ARCHIVE arguments missing!" )
1240
1236
endif ()
1241
1237
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} )
1243
1239
1244
1240
if (NOT IMPL_TARGET )
1245
1241
message (FATAL_ERROR "Missing TARGET argument in ARCHIVE specification!" )
1246
1242
endif ()
1247
1243
1248
1244
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} " )
1250
1250
endif ()
1251
1251
1252
1252
if (NOT IMPL_NAMESPACE )
1253
1253
message (FATAL_ERROR "Missing NAMESPACE argument in ARCHIVE specification!" )
1254
1254
endif ()
1255
1255
1256
+ if (NOT IMPL_MOUNT_POINT_DEFINE )
1257
+ message (FATAL_ERROR "MOUNT_POINT_DEFINE argument missing!" )
1258
+ endif ()
1259
+
1256
1260
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 )
1260
1264
1261
1265
set (_BUILTIN_RESOURCES_NAMESPACE_ ${IMPL_NAMESPACE} )
1262
1266
set (_LINK_MODE_ STATIC )
@@ -1346,23 +1350,23 @@ glue device permutation caps config with input
1346
1350
1347
1351
# create compile rules for given input with permuted config
1348
1352
set (i 0 )
1349
- list (LENGTH IMPL_INPUTS LEN )
1353
+ list (LENGTH IMPL_SHADERS LEN )
1350
1354
while (i LESS LEN )
1351
- list (GET IMPL_INPUTS ${i} TOKEN )
1355
+ list (GET IMPL_SHADERS ${i} TOKEN )
1352
1356
if (TOKEN STREQUAL "KEY" )
1353
1357
math (EXPR i "${i} + 1" )
1354
- list (GET IMPL_INPUTS ${i} FILEPATH )
1358
+ list (GET IMPL_SHADERS ${i} FILEPATH )
1355
1359
set (COMPILE_OPTIONS "" )
1356
1360
math (EXPR i "${i} + 1" )
1357
1361
1358
- list (GET IMPL_INPUTS ${i} NEXT )
1362
+ list (GET IMPL_SHADERS ${i} NEXT )
1359
1363
if (NOT NEXT STREQUAL "COMPILE_OPTIONS" )
1360
1364
message (FATAL_ERROR "Expected COMPILE_OPTIONS after KEY ${FILEPATH} " )
1361
1365
endif ()
1362
1366
math (EXPR i "${i} + 1" )
1363
1367
1364
1368
while (i LESS LEN )
1365
- list (GET IMPL_INPUTS ${i} ARG )
1369
+ list (GET IMPL_SHADERS ${i} ARG )
1366
1370
if (ARG STREQUAL "KEY" )
1367
1371
break ()
1368
1372
endif ()
@@ -1457,6 +1461,12 @@ glue device permutation caps config with input
1457
1461
endforeach ()
1458
1462
1459
1463
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
+
1460
1470
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_} " )
1461
1471
else ()
1462
1472
add_library (${IMPL_TARGET} INTERFACE )
0 commit comments