BuildMac.js 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. var fs = require('fs-extra');
  2. var bcommon = require("./BuildCommon");
  3. var host = require("./Host");
  4. var buildDir = bcommon.artifactsRoot + "Build/Mac/";
  5. function BuildMacPlayer() {
  6. var atomicTool = host.getAtomicToolBinary();
  7. var playerBuildDir = buildDir + "AtomicPlayer/";
  8. bcommon.cleanCreateDir(playerBuildDir);
  9. process.chdir(playerBuildDir);
  10. var cmds = [
  11. atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ MACOSX",
  12. atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ MACOSX",
  13. "cmake -DATOMICTOOL_NOGEN=1 -G Xcode ../../../../",
  14. "xcodebuild -target AtomicPlayer -configuration Release"
  15. ];
  16. jake.exec(cmds, function() {
  17. var macPlayerBinary = playerBuildDir + "Source/AtomicPlayer/Application/Release/AtomicPlayer.app/Contents/MacOS/AtomicPlayer";
  18. fs.copySync(macPlayerBinary, buildDir + "Bin/AtomicPlayer");
  19. console.log("Built Mac Player");
  20. complete();
  21. }, {
  22. printStdout: true
  23. });
  24. }
  25. function BuildMacEditor() {
  26. var atomicTool = host.getAtomicToolBinary();
  27. var editorBuildDir = buildDir + "AtomicEditor/";
  28. bcommon.cleanCreateDir(editorBuildDir);
  29. process.chdir(editorBuildDir);
  30. var cmds = [
  31. atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Atomic/ MACOSX",
  32. atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicPlayer/ MACOSX",
  33. atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/ToolCore/ MACOSX",
  34. atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/Editor/ MACOSX",
  35. atomicTool + " bind " + bcommon.atomicRoot + " Script/Packages/AtomicNET/ MACOSX",
  36. "cmake -DATOMICTOOL_NOGEN=1 -G Xcode ../../../../",
  37. "xcodebuild -target AtomicEditor -configuration Release"
  38. ];
  39. jake.exec(cmds, function() {
  40. var macEditorBinary = editorBuildDir + "Source/AtomicEditor/Release/AtomicEditor.app/Contents/MacOS/AtomicEditor";
  41. fs.copySync(macEditorBinary, buildDir + "Bin/AtomicEditor");
  42. console.log("Built Mac Editor");
  43. complete();
  44. }, {
  45. printStdout: true
  46. });
  47. }
  48. namespace('build', function() {
  49. task('mac_player', {
  50. async: true
  51. }, function() {
  52. BuildMacPlayer();
  53. });
  54. task('mac_editor', {
  55. async: true
  56. }, function() {
  57. BuildMacEditor();
  58. });
  59. }); // end of build namespace