|
1 |
| -find_package(Python3 REQUIRED) |
2 |
| - |
3 |
| -macro(LIST_BUILTIN_RESOURCE _BUNDLE_NAME_ _LBR_PATH_) |
4 |
| - set(_OPTIONAL_ALIAS_ "${ARGV2}") |
5 |
| - |
6 |
| - list(APPEND ${_BUNDLE_NAME_} "${_LBR_PATH_}") |
7 |
| - set(${_BUNDLE_NAME_} ${${_BUNDLE_NAME_}} PARENT_SCOPE) # override |
8 |
| - |
9 |
| - list(APPEND _LBR_${_BUNDLE_NAME_}_ "${_LBR_PATH_},${_OPTIONAL_ALIAS_}") |
10 |
| - set(_LBR_${_BUNDLE_NAME_}_ ${_LBR_${_BUNDLE_NAME_}_} PARENT_SCOPE) # override |
11 |
| -endmacro() |
| 1 | +include("${CMAKE_CURRENT_SOURCE_DIR}/utils.cmake") |
12 | 2 |
|
13 | 3 | LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "nbl/builtin/glsl/utils/acceleration_structures.glsl")
|
14 | 4 | LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "nbl/builtin/shader/loader/mtl/vertex_impl.glsl")
|
@@ -246,87 +236,6 @@ LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "nbl/builtin/glsl/blit/normalizatio
|
246 | 236 | LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "nbl/builtin/glsl/blit/normalization/descriptors.glsl")
|
247 | 237 | LIST_BUILTIN_RESOURCE(NBL_RESOURCES_TO_EMBED "nbl/builtin/glsl/blit/normalization/shared_normalization.glsl")
|
248 | 238 |
|
249 |
| -function(ADD_CUSTOM_BUILTIN_RESOURCES _TARGET_NAME_ _BUNDLE_NAME_ _BUNDLE_SEARCH_DIRECTORY_ _NAMESPACE_ _OUTPUT_DIRECTORY_) |
250 |
| - file(MAKE_DIRECTORY "${_OUTPUT_DIRECTORY_}") |
251 |
| - |
252 |
| - set(NBL_TEMPLATE_APK_RESOURCES_ARCHIVE_HEADER "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/template/CArchive.h.in") |
253 |
| - set(NBL_BUILTIN_HEADER_GEN_PY "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/builtinHeaderGen.py") |
254 |
| - set(NBL_BUILTIN_DATA_GEN_PY "${CMAKE_CURRENT_FUNCTION_LIST_DIR}/builtinDataGen.py") |
255 |
| - set(NBL_BS_HEADER_FILENAME "builtinResources.h") |
256 |
| - set(NBL_BS_DATA_SOURCE_FILENAME "builtinResourceData.cpp") |
257 |
| - |
258 |
| - string(REPLACE "::" "/" _PATH_PREFIX_ "${_NAMESPACE_}") |
259 |
| - string(REPLACE "::" "_" _GUARD_SUFFIX_ "${_NAMESPACE_}") |
260 |
| - string(REGEX REPLACE "^[0-9]+\." "" _GUARD_SUFFIX_ ${_GUARD_SUFFIX_}) |
261 |
| - string(TOUPPER ${_GUARD_SUFFIX_} _GUARD_SUFFIX_) |
262 |
| - string(MAKE_C_IDENTIFIER ${_GUARD_SUFFIX_} _GUARD_SUFFIX_) |
263 |
| - |
264 |
| - set(_ITR_ 0) |
265 |
| - foreach(X IN LISTS _LBR_${_BUNDLE_NAME_}_) |
266 |
| - set(_CURRENT_ITEM_ "${X}") |
267 |
| - string(FIND "${_CURRENT_ITEM_}" "," _FOUND_ REVERSE) |
268 |
| - |
269 |
| - string(REGEX REPLACE ",.*" "" _CURRENT_PATH_ "${_CURRENT_ITEM_}") |
270 |
| - string(REGEX REPLACE ".*," "" _CURRENT_ALIAS_ "${_CURRENT_ITEM_}") |
271 |
| - |
272 |
| - if(EXISTS "${_BUNDLE_SEARCH_DIRECTORY_}/${_CURRENT_PATH_}") |
273 |
| - list(APPEND NBL_DEPENDENCY_FILES "${_BUNDLE_SEARCH_DIRECTORY_}/${_CURRENT_PATH_}") |
274 |
| - file(SIZE "${_BUNDLE_SEARCH_DIRECTORY_}/${_CURRENT_PATH_}" _FILE_SIZE_) |
275 |
| - |
276 |
| - string(APPEND _RESOURCES_INIT_LIST_ "\t\t\t\t\t{\"${_CURRENT_PATH_}\", ${_FILE_SIZE_}, 0xdeadbeefu, ${_ITR_}, nbl::system::IFileArchive::E_ALLOCATOR_TYPE::EAT_NULL},\n") # initializer list |
277 |
| - else() |
278 |
| - message(FATAL_ERROR "!") # TODO: set GENERATED property, therefore we could turn some input into output and list it as builtin resource |
279 |
| - endif() |
280 |
| - |
281 |
| - math(EXPR _ITR_ "${_ITR_} + 1") |
282 |
| - endforeach() |
283 |
| - |
284 |
| - configure_file("${NBL_TEMPLATE_APK_RESOURCES_ARCHIVE_HEADER}" "${_OUTPUT_DIRECTORY_}/CArchive.h") |
285 |
| - |
286 |
| - list(APPEND NBL_DEPENDENCY_FILES "${NBL_BUILTIN_HEADER_GEN_PY}") |
287 |
| - list(APPEND NBL_DEPENDENCY_FILES "${NBL_BUILTIN_DATA_GEN_PY}") |
288 |
| - |
289 |
| - set(NBL_RESOURCES_LIST_FILE "${_OUTPUT_DIRECTORY_}/resources.txt") |
290 |
| - |
291 |
| - string(REPLACE ";" "," RESOURCES_ARGS "${${_BUNDLE_NAME_}}") |
292 |
| - file(WRITE "${NBL_RESOURCES_LIST_FILE}" "${RESOURCES_ARGS}") |
293 |
| - |
294 |
| - set(NBL_BUILTIN_RESOURCES_HEADER "${_OUTPUT_DIRECTORY_}/${NBL_BS_HEADER_FILENAME}") |
295 |
| - set(NBL_BUILTIN_RESOURCE_DATA_SOURCE "${_OUTPUT_DIRECTORY_}/${NBL_BS_DATA_SOURCE_FILENAME}") |
296 |
| - |
297 |
| - set(_NBL_SOURCES_ |
298 |
| - "${NBL_BUILTIN_RESOURCES_HEADER}" |
299 |
| - "${NBL_BUILTIN_RESOURCE_DATA_SOURCE}" |
300 |
| - ) |
301 |
| - |
302 |
| - add_custom_command( |
303 |
| - OUTPUT "${NBL_BUILTIN_RESOURCES_HEADER}" "${NBL_BUILTIN_RESOURCE_DATA_SOURCE}" |
304 |
| - COMMAND "${PYTHON_EXECUTABLE}" "${NBL_BUILTIN_HEADER_GEN_PY}" "${NBL_BUILTIN_RESOURCES_HEADER}" "${_BUNDLE_SEARCH_DIRECTORY_}" "${NBL_RESOURCES_LIST_FILE}" "${_NAMESPACE_}" "${_GUARD_SUFFIX_}" |
305 |
| - COMMAND "${PYTHON_EXECUTABLE}" "${NBL_BUILTIN_DATA_GEN_PY}" "${NBL_BUILTIN_RESOURCE_DATA_SOURCE}" "${_BUNDLE_SEARCH_DIRECTORY_}" "${NBL_RESOURCES_LIST_FILE}" "${_NAMESPACE_}" "${NBL_BS_HEADER_FILENAME}" |
306 |
| - COMMENT "Generating built-in resources" |
307 |
| - DEPENDS ${NBL_DEPENDENCY_FILES} |
308 |
| - VERBATIM |
309 |
| - ) |
310 |
| - |
311 |
| - add_library(${_TARGET_NAME_} STATIC |
312 |
| - ${_NBL_SOURCES_} |
313 |
| - ) |
314 |
| - |
315 |
| - target_include_directories(${_TARGET_NAME_} PUBLIC "${NBL_ROOT_PATH}/include") |
316 |
| - |
317 |
| - if(NBL_DYNAMIC_MSVC_RUNTIME) |
318 |
| - set_property(TARGET ${_TARGET_NAME_} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>DLL") |
319 |
| - else() |
320 |
| - set_property(TARGET ${_TARGET_NAME_} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>") |
321 |
| - endif() |
322 |
| - |
323 |
| - list(APPEND _NBL_BUILTIN_RESOURCES_ARCHIVE_APK_SOURCES_ "${_OUTPUT_DIRECTORY_}/CArchive.h") |
324 |
| - set(_NBL_BUILTIN_RESOURCES_ARCHIVE_APK_SOURCES_ ${_NBL_BUILTIN_RESOURCES_ARCHIVE_APK_SOURCES_} PARENT_SCOPE) |
325 |
| - |
326 |
| - list(APPEND _NBL_BUILTIN_RESOURCES_LIBRARIES_ ${_TARGET_NAME_}) |
327 |
| - set(_NBL_BUILTIN_RESOURCES_LIBRARIES_ ${_NBL_BUILTIN_RESOURCES_LIBRARIES_} PARENT_SCOPE) # override |
328 |
| -endfunction() |
329 |
| - |
330 | 239 | macro(NBL_ADD_BUILTIN_RESOURCES)
|
331 | 240 | ADD_CUSTOM_BUILTIN_RESOURCES(nblBuiltinResourceData NBL_RESOURCES_TO_EMBED "${NBL_ROOT_PATH}/include" "nbl::builtin" "${NBL_ROOT_PATH_BINARY}/include/nbl/builtin")
|
332 | 241 | endmacro()
|
|
0 commit comments