BuildWindows.js 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  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. var cleanBuild = true;
  13. if (cleanBuild) {
  14. common.cleanCreateDir(buildDir);
  15. common.cleanCreateDir(editorAppFolder);
  16. common.cleanCreateDir(host.getGenScriptRootDir("WINDOWS"));
  17. }
  18. // create the generated script files, so they will be picked up by cmake
  19. host.createGenScriptFiles("WINDOWS");
  20. process.chdir(buildDir);
  21. var cmds = [];
  22. // Build the AtomicEditor
  23. cmds.push(atomicRoot + "Build/Scripts/Windows/CompileAtomicEditor.bat");
  24. jake.exec(cmds, function() {
  25. // Copy the Editor binaries
  26. fs.copySync(buildDir + "Source/AtomicEditor/Release/AtomicEditor.exe",
  27. host.artifactsRoot + "AtomicEditor/AtomicEditor.exe");
  28. fs.copySync(buildDir + "Source/AtomicEditor/Release/D3DCompiler_47.dll",
  29. host.artifactsRoot + "AtomicEditor/D3DCompiler_47.dll");
  30. // We need some resources to run
  31. fs.copySync(atomicRoot + "Resources/CoreData",
  32. editorAppFolder + "Resources/CoreData");
  33. fs.copySync(atomicRoot + "Resources/EditorData",
  34. editorAppFolder + "Resources/EditorData");
  35. fs.copySync(atomicRoot + "Resources/PlayerData",
  36. editorAppFolder + "Resources/PlayerData");
  37. fs.copySync(atomicRoot + "Data/AtomicEditor",
  38. editorAppFolder + "Resources/ToolData");
  39. complete();
  40. }, {
  41. printStdout: true
  42. });
  43. });
  44. }); // end of build namespace