BuildWindows.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. var fs = require('fs-extra');
  2. var path = require("path");
  3. var host = require("./Host");
  4. var atomicRoot = host.atomicRoot;
  5. var buildDir = host.artifactsRoot + "Build/Windows/";
  6. var editorAppFolder = host.artifactsRoot + "AtomicEditor/";
  7. namespace('build', function() {
  8. task('atomiceditor', {
  9. async: true
  10. }, function() {
  11. // Clean build
  12. common.cleanCreateDir(buildDir);
  13. common.cleanCreateDir(editorAppFolder);
  14. process.chdir(buildDir);
  15. var cmds = [];
  16. // Build the AtomicTool
  17. cmds.push(atomicRoot + "Build/Scripts/Windows/CompileAtomicTool.bat");
  18. // Generate bindings for each script package
  19. var scriptPackages = host.getScriptPackages();
  20. var bindCmd = host.atomicTool + " bind \"" + atomicRoot + "\" ";
  21. for (var i in scriptPackages) {
  22. cmds.push(bindCmd + "Script/Packages/" + scriptPackages[i] + "/ WINDOWS")
  23. }
  24. // Build the AtomicEditor
  25. cmds.push(atomicRoot + "Build/Scripts/Windows/CompileAtomicEditor.bat");
  26. jake.exec(cmds, function() {
  27. // Copy the Editor binaries
  28. fs.copySync(buildDir + "Source/AtomicEditor/Release/AtomicEditor.exe",
  29. host.artifactsRoot + "AtomicEditor/AtomicEditor.exe");
  30. fs.copySync(buildDir + "Source/AtomicEditor/Release/D3DCompiler_47.dll",
  31. host.artifactsRoot + "AtomicEditor/D3DCompiler_47.dll");
  32. // We need some resources to run
  33. fs.copySync(atomicRoot + "Resources/CoreData",
  34. editorAppFolder + "Resources/CoreData");
  35. fs.copySync(atomicRoot + "Resources/EditorData",
  36. editorAppFolder + "Resources/EditorData");
  37. fs.copySync(atomicRoot + "Resources/PlayerData",
  38. editorAppFolder + "Resources/PlayerData");
  39. fs.copySync(atomicRoot + "Data/AtomicEditor",
  40. editorAppFolder + "Resources/ToolData");
  41. complete();
  42. }, {
  43. printStdout: true
  44. });
  45. });
  46. }); // end of build namespace