@@ -10,7 +10,6 @@ macro(LIST_BUILTIN_RESOURCE _BUNDLE_NAME_ _LBR_PATH_)
10
10
set (_LBR_${_BUNDLE_NAME_}_ ${_LBR_${_BUNDLE_NAME_}_} PARENT_SCOPE ) # override
11
11
endmacro ()
12
12
13
- LIST_BUILTIN_RESOURCE (NBL_RESOURCES_TO_EMBED "nbl/builtin/glsl/utils/acceleration_structures.glsl" "cipsko" )
14
13
LIST_BUILTIN_RESOURCE (NBL_RESOURCES_TO_EMBED "nbl/builtin/glsl/utils/acceleration_structures.glsl" )
15
14
LIST_BUILTIN_RESOURCE (NBL_RESOURCES_TO_EMBED "nbl/builtin/shader/loader/mtl/vertex_impl.glsl" )
16
15
LIST_BUILTIN_RESOURCE (NBL_RESOURCES_TO_EMBED "nbl/builtin/shader/loader/mtl/vertex_no_uv.vert" ) # TODO: remove naming tautology
@@ -250,6 +249,8 @@ LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "nbl/builtin/glsl/blit/normalizatio
250
249
function (ADD_CUSTOM_BUILTIN_RESOURCES _TARGET_NAME_ _BUNDLE_NAME_ _BUNDLE_SEARCH_DIRECTORY_ _NAMESPACE_ _OUTPUT_DIRECTORY_ )
251
250
set (NBL_TEMPLATE_APK_RESOURCES_ARCHIVE_SOURCE "${CMAKE_CURRENT_FUNCTION_LIST_DIR} /template/CAPKResourcesArchieve.cpp.in" )
252
251
set (NBL_TEMPLATE_APK_RESOURCES_ARCHIVE_HEADER "${CMAKE_CURRENT_FUNCTION_LIST_DIR} /template/CAPKResourcesArchieve.h.in" )
252
+ set (NBL_BUILTIN_HEADER_GEN_PY "${CMAKE_CURRENT_FUNCTION_LIST_DIR} /builtinHeaderGen.py" )
253
+ set (NBL_BUILTIN_DATA_GEN_PY "${CMAKE_CURRENT_FUNCTION_LIST_DIR} /builtinDataGen.py" )
253
254
254
255
string (REPLACE "::" "/" _PATH_PREFIX_ "${_NAMESPACE_} " )
255
256
@@ -276,10 +277,51 @@ function(ADD_CUSTOM_BUILTIN_RESOURCES _TARGET_NAME_ _BUNDLE_NAME_ _BUNDLE_SEARCH
276
277
configure_file ("${NBL_TEMPLATE_APK_RESOURCES_ARCHIVE_SOURCE} " "${_OUTPUT_DIRECTORY_} /CAPKResourcesArchieve.cpp" )
277
278
configure_file ("${NBL_TEMPLATE_APK_RESOURCES_ARCHIVE_HEADER} " "${_OUTPUT_DIRECTORY_} /CAPKResourcesArchieve.h" )
278
279
279
- # TODO: bring back python generation (?)
280
+ list (APPEND NBL_DEPENDENCY_FILES "${NBL_BUILTIN_HEADER_GEN_PY} " )
281
+ list (APPEND NBL_DEPENDENCY_FILES "${NBL_BUILTIN_DATA_GEN_PY} " )
282
+
283
+ set (NBL_RESOURCES_LIST_FILE "${NBL_ROOT_PATH_BINARY} /include/nbl/builtin/resources.txt" )
284
+
285
+ string (REPLACE ";" "," RESOURCES_ARGS "${${_BUNDLE_NAME_} }" )
286
+ file (MAKE_DIRECTORY "${NBL_ROOT_PATH_BINARY} /include/nbl/builtin" )
287
+ file (WRITE "${NBL_RESOURCES_LIST_FILE} " "${RESOURCES_ARGS} " )
288
+
289
+ set (NBL_BS_HEADER_FILENAME "builtinResources.h" )
290
+ set (NBL_BS_DATA_SOURCE_FILENAME "builtinResourceData.cpp" )
291
+ set (NBL_BUILTIN_RESOURCES_HEADER "${_OUTPUT_DIRECTORY_} /${NBL_BS_HEADER_FILENAME} " )
292
+ set (NBL_BUILTIN_RESOURCE_DATA_SOURCE "${_OUTPUT_DIRECTORY_} /${NBL_BS_DATA_SOURCE_FILENAME} " )
293
+
294
+ set (_NBL_SOURCES_
295
+ "${NBL_BUILTIN_RESOURCES_HEADER} "
296
+ "${NBL_BUILTIN_RESOURCE_DATA_SOURCE} "
297
+ )
298
+
299
+ add_custom_command (
300
+ OUTPUT "${NBL_BUILTIN_RESOURCES_HEADER} " "${NBL_BUILTIN_RESOURCE_DATA_SOURCE} "
301
+ COMMAND "${PYTHON_EXECUTABLE} " "${NBL_BUILTIN_HEADER_GEN_PY} " "${NBL_BUILTIN_RESOURCES_HEADER} " "${NBL_ROOT_PATH} /include" "${NBL_RESOURCES_LIST_FILE} " "${_NAMESPACE_} "
302
+ COMMAND "${PYTHON_EXECUTABLE} " "${NBL_BUILTIN_DATA_GEN_PY} " "${NBL_BUILTIN_RESOURCE_DATA_SOURCE} " "${NBL_ROOT_PATH} /include" "${NBL_RESOURCES_LIST_FILE} " "${_NAMESPACE_} " "${NBL_BS_HEADER_FILENAME} "
303
+ COMMENT "Generating built-in resources"
304
+ DEPENDS ${NBL_DEPENDENCY_FILES}
305
+ VERBATIM
306
+ )
307
+
308
+ add_library (${_TARGET_NAME_} STATIC
309
+ ${_NBL_SOURCES_}
310
+ )
311
+
312
+ target_include_directories (${_TARGET_NAME_} PUBLIC "${NBL_ROOT_PATH} /include" )
313
+
314
+ if (NBL_DYNAMIC_MSVC_RUNTIME )
315
+ set_property (TARGET ${_TARGET_NAME_} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL" )
316
+ else ()
317
+ set_property (TARGET ${_TARGET_NAME_} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>" )
318
+ endif ()
319
+
320
+ list (APPEND _NBL_BUILTIN_RESOURCES_LIBRARIES_ ${_TARGET_NAME_} )
321
+ set (_NBL_BUILTIN_RESOURCES_LIBRARIES_ ${_NBL_BUILTIN_RESOURCES_LIBRARIES_} PARENT_SCOPE ) # override
280
322
endfunction ()
281
323
282
- function (NBL_ADD_BUILTIN_RESOURCES )
324
+ macro (NBL_ADD_BUILTIN_RESOURCES )
283
325
ADD_CUSTOM_BUILTIN_RESOURCES (nblBuiltinResourceData NBL_RESOURCES_TO_EMBED "${NBL_ROOT_PATH} /include" "nbl::builtin" "${NBL_ROOT_PATH_BINARY} /include/nbl/builtin" )
284
- endfunction ()
326
+ endmacro ()
285
327
0 commit comments