project.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. let flags = globalThis.flags;
  2. flags.name = 'ArmorLab';
  3. flags.package = 'org.armorlab';
  4. flags.with_onnx = true;
  5. let project = new Project(flags.name);
  6. project.addDefine("is_lab");
  7. await project.addProject("../base");
  8. project.addSources("Sources");
  9. project.addSources("Sources/nodes");
  10. project.addShaders("Shaders/*.glsl", { embed: flags.snapshot });
  11. project.addAssets("Assets/*", { destination: "data/{name}", embed: flags.snapshot });
  12. project.addAssets("Assets/export_presets/*", { destination: "data/export_presets/{name}" });
  13. project.addAssets("Assets/keymap_presets/*", { destination: "data/keymap_presets/{name}" });
  14. project.addAssets("Assets/licenses/**", { destination: "data/licenses/{name}" });
  15. project.addAssets("Assets/plugins/*", { destination: "data/plugins/{name}" });
  16. project.addAssets("Assets/meshes/*", { destination: "data/meshes/{name}" });
  17. project.addAssets("Assets/models/*.onnx", { destination: "data/models/{name}" });
  18. project.addAssets("Assets/models/LICENSE.txt", { destination: "data/models/LICENSE.txt" });
  19. project.addAssets("Assets/readme/readme.txt", { destination: "{name}" });
  20. if (flags.android) {
  21. project.addAssets("Assets/readme/readme_android.txt", { destination: "{name}" });
  22. }
  23. else if (flags.ios) {
  24. project.addAssets("Assets/readme/readme_ios.txt", { destination: "{name}" });
  25. }
  26. if (process.platform === "win32") {
  27. project.addAssets("onnx/win32/*.dll", { destination: "{name}" });
  28. }
  29. else if (process.platform === "linux") {
  30. project.addAssets("onnx/linux/*.so.*", { destination: "{name}" }); // Versioned lib
  31. }
  32. if (flags.raytrace) {
  33. if (flags.d3d12) {
  34. project.addAssets("Assets/readme/readme_dxr.txt", { destination: "{name}" });
  35. }
  36. else if (flags.vulkan) {
  37. project.addAssets("Assets/readme/readme_vkrt.txt", { destination: "{name}" });
  38. }
  39. }
  40. resolve(project);