require("../../common.jake"); var OS = require("os"), task = require("jake").task, stream = require("narwhal/term").stream, applicationName = "XcodeCapp.app"; task ("build", function() { // If sw_vers does not exist, we aren't on Mac OS X if (!executableExists("sw_vers")) OS.exit(0); // No building on 10.6 var p = OS.popen(["sw_vers", "-productVersion"]); if (p.wait() === 0) { var versions = p.stdout.read().split("."), majorVersion = parseInt(versions[0], 10), minorVersion = parseInt(versions[1], 10), buildVersion = parseInt(versions[2], 10); if (majorVersion < 10 || minorVersion < 7) { colorPrint("XcodeCapp can only be built on Mac OS X 10.7+. You can download the binary here: https://www.dropbox.com/sh/gxdgm356gyb9tqc/rFNyl8hcVG", "red"); OS.exit(0); } } if (executableExists("xcodebuild")) { var args = "-sdk macosx -alltargets -configuration Release", installPath = FILE.join("/", "Applications", applicationName); // Remove an old symlink, the application is built directly into /Applications now. if (FILE.isLink(installPath)) FILE.remove(installPath); if (OS.system("xcodebuild " + args)) OS.exit(1); if (!executableExists("xcc")) { print("\nWould you like to install the xcc command line tool in /usr/local/bin? yes or no:"); if (system.stdin.readLine() == "yes\n") { sudo(["mkdir", "-p", "/usr/local/bin"]); sudo(["ln", "-s", "/Applications/XcodeCapp.app/Contents/MacOS/xcc", "/usr/local/bin/"]); } } } else { print("Building " + applicationName + " requires Xcode."); } }); task ("clean", function() { if (OS.system("xcodebuild clean")) OS.exit(1); }); task ("clobber", function() { if (OS.system("xcodebuild clean")) OS.exit(1); }); task ("default", ["build"]);