Skip to content

Commit c4b8d7a

Browse files
committed
tweak header generation for clang and gcc
Signed-off-by: Michael Pollind <mpollind@gmail.com>
1 parent 232dba7 commit c4b8d7a

File tree

4 files changed

+13
-8
lines changed

4 files changed

+13
-8
lines changed

include/nbl/system/ISystem.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010
#include "nbl/system/ICancellableAsyncQueueDispatcher.h"
1111
#include "nbl/system/IFileArchive.h"
12-
//#include "nbl/builtin/builtinResources.h"
12+
#include "nbl/builtin/builtinResources.h"
1313

1414
#include <variant>
1515

src/nbl/builtin/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ function(ADD_CUSTOM_BUILTIN_RESOURCES _TARGET_NAME_ _NAMESPACE_ _CUSTOM_RESOURCE
268268
add_custom_command(
269269
OUTPUT "${NBL_BUILTIN_RESOURCES_HEADER}" "${NBL_BUILTIN_RESOURCE_DATA_SOURCE}"
270270
COMMAND "${PYTHON_EXECUTABLE}" "${NBL_BUILTIN_HEADER_GEN_PY}" "${NBL_BUILTIN_RESOURCES_HEADER}" "${NBL_ROOT_PATH}/include" "${NBL_RESOURCES_LIST_FILE}" "${_NAMESPACE_}"
271-
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}"
271+
COMMAND "${PYTHON_EXECUTABLE}" "${NBL_BUILTIN_DATA_GEN_PY}" "${NBL_BUILTIN_RESOURCE_DATA_SOURCE}" "${NBL_ROOT_PATH}/include" "${NBL_RESOURCES_LIST_FILE}" "${_NAMESPACE_}"
272272
COMMENT "Generating built-in resources"
273273
DEPENDS ${NBL_DEPENDENCY_FILES}
274274
VERBATIM

src/nbl/builtin/builtinDataGen.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,26 @@
1717
cmakeSourceDir = sys.argv[2]
1818
resourcesFile = sys.argv[3]
1919
resourcesNamespace = sys.argv[4]
20-
correspondingHeaderFile = sys.argv[5]
2120

2221
with open(resourcesFile, "r") as f:
2322
resourcePaths = f.read().rstrip().split(',')
2423

2524
#opening a file
2625
outp = open(outputFilename,"w+")
2726

28-
outp.write("#include \"" + correspondingHeaderFile + "\"\n")
27+
28+
outp.write("#include \"nbl/core/string/StringLiteral.h\"\n")
29+
outp.write("#include <cstdint>\n")
30+
outp.write("#include <unordered_map>\n");
31+
outp.write("#include <string>\n");
2932
outp.write("\tnamespace " + resourcesNamespace + " {\n")
33+
34+
outp.write("template<nbl::core::StringLiteral Path>")
35+
outp.write("const std::pair<const uint8_t*, size_t> get_resource();")
3036

3137
# writing binary data of all files in a loop
3238
for x in resourcePaths:
33-
outp.write('\n\ttemplate<> const std::pair<const uint8_t*, size_t> get_resource<typename NBL_CORE_UNIQUE_STRING_LITERAL_TYPE("%s")>()' % x)
39+
outp.write('\n\ttemplate<> const std::pair<const uint8_t*, size_t> get_resource<NBL_CORE_UNIQUE_STRING_LITERAL_TYPE("%s")>()' % x)
3440
outp.write('\n\t{')
3541
outp.write('\n\t\tstatic const uint8_t data[] = {\n\t\t\t')
3642
try:
@@ -53,7 +59,6 @@
5359
outp.write('\n\t\t};')
5460
outp.write('\n\t\treturn { data, sizeof(data) };')
5561
outp.write('\n\t}')
56-
outp.write('\n\ttemplate const std::pair<const uint8_t*, size_t> get_resource<typename NBL_CORE_UNIQUE_STRING_LITERAL_TYPE("%s")>();\n\n\n'%x)
5762

5863

5964
outp.write("\tstd::pair<const uint8_t*, size_t> get_resource_runtime(const std::string& filename) {\n")
@@ -68,7 +73,7 @@
6873
outp.write("\t\tswitch (resource->second) \n\t\t\t{\n")
6974
counter = 1
7075
for x in resourcePaths:
71-
outp.write("\t\t\tcase %d:\n\t\t\t\t\treturn get_resource<typename NBL_CORE_UNIQUE_STRING_LITERAL_TYPE(\"%s\")>();\n" % (counter,x))
76+
outp.write("\t\t\tcase %d:\n\t\t\t\t\treturn get_resource<NBL_CORE_UNIQUE_STRING_LITERAL_TYPE(\"%s\")>();\n" % (counter,x))
7277
counter+= 1
7378

7479
outp.write("\t\t\tdefault:\n")

src/nbl/builtin/builtinHeaderGen.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
#Iterating through input list
3939
for x in resourcePaths:
40-
outp.write('\n\t\textern template const std::pair<const uint8_t*, size_t> get_resource<typename NBL_CORE_UNIQUE_STRING_LITERAL_TYPE("%s")>();' % x)
40+
outp.write('\n\t\textern template const std::pair<const uint8_t*, size_t> get_resource<NBL_CORE_UNIQUE_STRING_LITERAL_TYPE("%s")>();' % x)
4141

4242
outp.write("\n\t}")
4343
outp.write("\n#endif")

0 commit comments

Comments
 (0)