HostMac.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. var fs = require('fs-extra');
  2. var bcommon = require("./BuildCommon");
  3. var buildDir = bcommon.artifactsRoot + "Build/Mac/";
  4. var atomicToolBinary = buildDir + "Bin/AtomicTool";
  5. function clean() {
  6. bcommon.testRemoveDir(buildDir);
  7. }
  8. // Gets the path to the AtomicTool, possibly building it if it doesn't exist
  9. function getAtomicToolBinary() {
  10. try {
  11. fs.statSync(atomicToolBinary);
  12. return atomicToolBinary;
  13. } catch (err) {
  14. buildAtomicTool();
  15. return atomicToolBinary;
  16. }
  17. }
  18. function buildAtomicTool() {
  19. var toolBuildDir = buildDir + "AtomicTool/";
  20. bcommon.cleanCreateDir(toolBuildDir);
  21. process.chdir(toolBuildDir);
  22. var cmds = [
  23. 'cmake ../../../../ -DATOMICTOOL_NOGEN=1 -G Xcode',
  24. 'xcodebuild -target AtomicTool -configuration Release'
  25. ]
  26. jake.exec(cmds, function() {
  27. var srcToolBinary = toolBuildDir + "Source/AtomicTool/Release/AtomicTool"
  28. fs.copySync(srcToolBinary, atomicToolBinary);
  29. console.log("Built MacOSX AtomicTool");
  30. complete();
  31. }, {
  32. printStdout: true
  33. });
  34. }
  35. exports.clean = clean;
  36. exports.buildAtomicTool = buildAtomicTool;
  37. exports.getAtomicToolBinary = getAtomicToolBinary;