From 1f34d0fd8901092a73d07a5a05b0e46eb320565d Mon Sep 17 00:00:00 2001 From: luboslenco Date: Mon, 4 Dec 2023 17:14:50 +0100 Subject: [PATCH] Unify project files --- armorforge/kincflags.js | 22 ------------- armorforge/{khafile.js => project.js} | 9 ++++-- armorlab/kincflags.js | 35 -------------------- armorlab/{khafile.js => project.js} | 12 ++++--- armorpaint/kincflags.js | 24 -------------- armorpaint/{khafile.js => project.js} | 10 +++--- armorsculpt/kincflags.js | 23 -------------- armorsculpt/{khafile.js => project.js} | 10 +++--- base/{khafile.js => project.js} | 44 ++++++++++++++++++++++++-- 9 files changed, 68 insertions(+), 121 deletions(-) delete mode 100644 armorforge/kincflags.js rename armorforge/{khafile.js => project.js} (92%) delete mode 100644 armorlab/kincflags.js rename armorlab/{khafile.js => project.js} (91%) delete mode 100644 armorpaint/kincflags.js rename armorpaint/{khafile.js => project.js} (94%) delete mode 100644 armorsculpt/kincflags.js rename armorsculpt/{khafile.js => project.js} (92%) rename base/{khafile.js => project.js} (68%) diff --git a/armorforge/kincflags.js b/armorforge/kincflags.js deleted file mode 100644 index 9a70c15a..00000000 --- a/armorforge/kincflags.js +++ /dev/null @@ -1,22 +0,0 @@ - -// Imported by armorcore/kfile.js -flags.name = 'ArmorForge'; -flags.package = 'org.armorforge'; -flags.with_d3dcompiler = true; -flags.with_nfd = true; -flags.with_tinydir = true; -flags.with_zlib = true; -flags.with_stb_image_write = true; -flags.with_mpeg_write = true; -flags.with_g2 = true; -flags.with_iron = true; -flags.with_zui = true; - -flags.on_project_created = async function(project) { - project.addDefine('IDLE_SLEEP'); - - if (graphics === 'vulkan') { - project.addDefine('KORE_VKRT'); - await project.addProject('../armorforge/glsl_to_spirv'); - } -} diff --git a/armorforge/khafile.js b/armorforge/project.js similarity index 92% rename from armorforge/khafile.js rename to armorforge/project.js index 8af98ebb..b71071be 100644 --- a/armorforge/khafile.js +++ b/armorforge/project.js @@ -1,10 +1,13 @@ -let project = new Project("ArmorForge"); +let flags = globalThis.flags; +flags.name = 'ArmorForge'; +flags.package = 'org.armorforge'; +flags.with_mpeg_write = true; + +let project = new Project(flags.name); project.addDefine("is_forge"); project.addDefine("is_paint"); - await project.addProject("../base"); -let flags = globalThis.flags; project.addSources("../armorpaint/Sources"); //// project.addShaders("../armorpaint/Shaders/*.glsl", { embed: flags.snapshot }); //// diff --git a/armorlab/kincflags.js b/armorlab/kincflags.js deleted file mode 100644 index 6b3dc7d5..00000000 --- a/armorlab/kincflags.js +++ /dev/null @@ -1,35 +0,0 @@ - -// Imported by armorcore/kfile.js -flags.name = 'ArmorLab'; -flags.package = 'org.armorlab'; -flags.with_d3dcompiler = true; -flags.with_nfd = true; -flags.with_tinydir = true; -flags.with_zlib = true; -flags.with_stb_image_write = true; -flags.with_g2 = true; -flags.with_iron = true; -flags.with_zui = true; - -flags.on_project_created = async function(project) { - project.addDefine('IDLE_SLEEP'); - - project.addDefine('WITH_ONNX'); - project.addIncludeDir("../armorlab/onnx/include"); - if (platform === Platform.Windows) { - project.addLib('../armorlab/onnx/win32/onnxruntime'); - } - else if (platform === Platform.Linux) { - // patchelf --set-rpath . ArmorLab - project.addLib('onnxruntime -L' + __dirname + '/../armorlab/onnx/linux'); - } - else if (platform === Platform.OSX) { - project.addLib('../armorlab/onnx/macos/libonnxruntime.1.14.1.dylib'); - } - - if (graphics === 'vulkan') { - project.addDefine('KORE_VKRT'); - await project.addProject('../armorlab/glsl_to_spirv'); - } - await project.addProject('../armorlab/plugins'); -} diff --git a/armorlab/khafile.js b/armorlab/project.js similarity index 91% rename from armorlab/khafile.js rename to armorlab/project.js index 6adf445f..849de6f1 100644 --- a/armorlab/khafile.js +++ b/armorlab/project.js @@ -1,9 +1,13 @@ -let project = new Project("ArmorLab"); -project.addDefine("is_lab"); - -await project.addProject("../base"); let flags = globalThis.flags; +flags.name = 'ArmorLab'; +flags.package = 'org.armorlab'; +flags.with_onnx = true; +flags.with_plugin_embed = true; + +let project = new Project(flags.name); +project.addDefine("is_lab"); +await project.addProject("../base"); project.addSources("Sources"); project.addShaders("Shaders/*.glsl", { embed: flags.snapshot }); diff --git a/armorpaint/kincflags.js b/armorpaint/kincflags.js deleted file mode 100644 index 42b90169..00000000 --- a/armorpaint/kincflags.js +++ /dev/null @@ -1,24 +0,0 @@ - -// Imported by armorcore/kfile.js -flags.name = 'ArmorPaint'; -flags.package = 'org.armorpaint'; -flags.with_d3dcompiler = true; -flags.with_nfd = true; -flags.with_tinydir = true; -flags.with_zlib = true; -flags.with_stb_image_write = true; -flags.with_g2 = true; -flags.with_iron = true; -flags.with_zui = true; - -flags.on_project_created = async function(project) { - project.addDefine('IDLE_SLEEP'); - - if (graphics === 'vulkan') { - project.addDefine('KORE_VKRT'); - await project.addProject('../armorpaint/glsl_to_spirv'); - } - if (platform === 'ios') { - await project.addProject('../armorpaint/plugins'); - } -} diff --git a/armorpaint/khafile.js b/armorpaint/project.js similarity index 94% rename from armorpaint/khafile.js rename to armorpaint/project.js index 2e385d38..ea60cc05 100644 --- a/armorpaint/khafile.js +++ b/armorpaint/project.js @@ -1,9 +1,11 @@ -let project = new Project("ArmorPaint"); -project.addDefine("is_paint"); - -await project.addProject("../base"); let flags = globalThis.flags; +flags.name = 'ArmorPaint'; +flags.package = 'org.armorpaint'; + +let project = new Project(flags.name); +project.addDefine("is_paint"); +await project.addProject("../base"); project.addSources("Sources"); project.addShaders("Shaders/*.glsl", { embed: flags.snapshot }); diff --git a/armorsculpt/kincflags.js b/armorsculpt/kincflags.js deleted file mode 100644 index e8ca67bd..00000000 --- a/armorsculpt/kincflags.js +++ /dev/null @@ -1,23 +0,0 @@ - -// Imported by armorcore/kfile.js -flags.name = 'ArmorSculpt'; -flags.package = 'org.armorsculpt'; -flags.with_d3dcompiler = true; -flags.with_nfd = true; -flags.with_tinydir = true; -flags.with_zlib = true; -flags.with_stb_image_write = true; -flags.with_g2 = true; -flags.with_iron = true; -flags.with_zui = true; - -flags.on_project_created = async function(project) { - project.addDefine('IDLE_SLEEP'); - - if (graphics === 'vulkan') { - await project.addProject('../armorsculpt/glsl_to_spirv'); - } - if (platform === 'ios') { - await project.addProject('../armorsculpt/plugins'); - } -} diff --git a/armorsculpt/khafile.js b/armorsculpt/project.js similarity index 92% rename from armorsculpt/khafile.js rename to armorsculpt/project.js index 4b045e02..57114c93 100644 --- a/armorsculpt/khafile.js +++ b/armorsculpt/project.js @@ -1,9 +1,11 @@ -let project = new Project("ArmorSculpt"); -project.addDefine("is_sculpt"); - -await project.addProject("../base"); let flags = globalThis.flags; +flags.name = 'ArmorSculpt'; +flags.package = 'org.armorsculpt'; + +let project = new Project(flags.name); +project.addDefine("is_sculpt"); +await project.addProject("../base"); project.addSources("../armorpaint/Sources"); //// project.addSources("Sources"); diff --git a/base/khafile.js b/base/project.js similarity index 68% rename from base/khafile.js rename to base/project.js index 4400ea87..a43cacbe 100644 --- a/base/khafile.js +++ b/base/project.js @@ -1,6 +1,5 @@ -let flags = {}; -globalThis.flags = flags; +let flags = globalThis.flags; flags.android = process.argv.indexOf("android") >= 0; flags.ios = process.argv.indexOf("ios") >= 0; flags.d3d12 = process.argv.indexOf("direct3d12") >= 0; @@ -12,6 +11,47 @@ flags.plugin_embed = flags.ios; flags.physics = !flags.ios; flags.voxels = !flags.raytrace && !flags.android && !flags.ios; +flags.with_d3dcompiler = true; +flags.with_nfd = true; +flags.with_tinydir = true; +flags.with_zlib = true; +flags.with_stb_image_write = true; +flags.with_g2 = true; +flags.with_iron = true; +flags.with_zui = true; + +flags.on_c_project_created = async function(c_project, platform, graphics) { + c_project.addDefine("IDLE_SLEEP"); + let dir = flags.name.toLowerCase(); + + if (graphics === "vulkan") { + c_project.addDefine("KORE_VKRT"); + await c_project.addProject("../" + dir + "/glsl_to_spirv"); + } + if (platform === "ios") { + flags.with_plugin_embed = true; + } + + if (flags.with_onnx) { + c_project.addDefine("WITH_ONNX"); + c_project.addIncludeDir("../" + dir + "/onnx/include"); + if (platform === Platform.Windows) { + c_project.addLib("../" + dir + "/onnx/win32/onnxruntime"); + } + else if (platform === Platform.Linux) { + // patchelf --set-rpath . ArmorLab + c_project.addLib("onnxruntime -L" + __dirname + "/../" + dir + "/onnx/linux"); + } + else if (platform === Platform.OSX) { + c_project.addLib("../" + dir + "/onnx/macos/libonnxruntime.1.14.1.dylib"); + } + } + + if (flags.with_plugin_embed) { + await c_project.addProject("../" + dir + "/plugins"); + } +}; + let project = new Project("Base"); project.addSources("Sources"); project.addShaders("../armorcore/Shaders/*.glsl", { embed: flags.snapshot });