Browse Source

Some Android build fixes

Panagiotis Christopoulos Charitos 5 months ago
parent
commit
90bf6d2689
2 changed files with 15 additions and 3 deletions
  1. 2 2
      AnKi/Shaders/CMakeLists.txt
  2. 13 1
      Tools/Android/GenerateAndroidProject.py

+ 2 - 2
AnKi/Shaders/CMakeLists.txt

@@ -4,7 +4,7 @@ ProcessorCount(proc_count)
 MATH(EXPR proc_count "${proc_count}-1")
 MATH(EXPR proc_count "${proc_count}-1")
 
 
 if(ANKI_OVERRIDE_SHADER_COMPILER STREQUAL "")
 if(ANKI_OVERRIDE_SHADER_COMPILER STREQUAL "")
-	set(shader_compiler_bin "ShaderCompiler")
+	set(shader_compiler_bin "${CMAKE_BINARY_DIR}/Binaries/ShaderCompiler")
 	set(shader_compiler_dep "ShaderCompiler")
 	set(shader_compiler_dep "ShaderCompiler")
 else()
 else()
 	set(shader_compiler_bin ${ANKI_OVERRIDE_SHADER_COMPILER})
 	set(shader_compiler_bin ${ANKI_OVERRIDE_SHADER_COMPILER})
@@ -67,7 +67,7 @@ foreach(prog_fname ${prog_fnames})
 
 
 	add_custom_command(
 	add_custom_command(
 		OUTPUT ${bin_fname}
 		OUTPUT ${bin_fname}
-		COMMAND ${CMAKE_COMMAND} -E env "ASAN_OPTIONS=suppressions=${CMAKE_CURRENT_SOURCE_DIR}/../../Tools/SanitizerBlacklist.txt" "${CMAKE_BINARY_DIR}/Binaries/${shader_compiler_bin}" -o ${bin_fname} -j ${proc_count} -I "${CMAKE_CURRENT_SOURCE_DIR}/../.." ${extra_compiler_args} ${prog_fname}
+		COMMAND ${CMAKE_COMMAND} -E env "ASAN_OPTIONS=suppressions=${CMAKE_CURRENT_SOURCE_DIR}/../../Tools/SanitizerBlacklist.txt" ${shader_compiler_bin} -o ${bin_fname} -j ${proc_count} -I "${CMAKE_CURRENT_SOURCE_DIR}/../.." ${extra_compiler_args} ${prog_fname}
 		DEPENDS ${shader_compiler_dep} ${prog_fname} ${deps}
 		DEPENDS ${shader_compiler_dep} ${prog_fname} ${deps}
 		COMMENT "Build ${prog_fname}")
 		COMMENT "Build ${prog_fname}")
 
 

+ 13 - 1
Tools/Android/GenerateAndroidProject.py

@@ -92,7 +92,7 @@ def main():
     dir_structure_file = open(os.path.join(assets_dir, "DirStructure.txt"), "w", newline="\n")
     dir_structure_file = open(os.path.join(assets_dir, "DirStructure.txt"), "w", newline="\n")
     for root, dirs, files in os.walk(assets_dir, followlinks=True):
     for root, dirs, files in os.walk(assets_dir, followlinks=True):
         for f in files:
         for f in files:
-            if f.find("DirStructure.txt") >= 0:
+            if f.find("DirStructure.txt") >= 0 or f.find(".ankiprogbin") >= 0:
                 continue
                 continue
 
 
             filename = os.path.join(root, f)
             filename = os.path.join(root, f)
@@ -101,6 +101,18 @@ def main():
             if filename[0] == '/':
             if filename[0] == '/':
                 filename = filename[1:]
                 filename = filename[1:]
             dir_structure_file.write("%s\n" % filename)
             dir_structure_file.write("%s\n" % filename)
+
+    # Write the shaders
+    shaders_dir = os.path.join(this_script_dir, "../../AnKi/Shaders")
+    for root, dirs, files in os.walk(shaders_dir, followlinks=False):
+        for f in files:
+            if f.find(".ankiprog") == -1:
+                continue
+
+            filename = os.path.join(root, f)
+            filename = filename.replace(shaders_dir, "")
+            dir_structure_file.write("ShaderBinaries%sbin\n" % filename)
+
     dir_structure_file.close()
     dir_structure_file.close()
 
 
     # strings.xml
     # strings.xml