mirror of
https://github.com/cappuccino/cappuccino.git
synced 2026-08-25 13:07:02 +00:00
Previously, when popen was called, the 3 streams (stdin, stderr and stdourt) where never closed. This was the reason of the having an impossible number of open files. This patch ensure all streams are closed after using them. This means that the ulimit trick is no more necessary
65 lines
2.7 KiB
JavaScript
65 lines
2.7 KiB
JavaScript
|
|
require("../common.jake");
|
|
|
|
var framework = require("objective-j/jake").framework,
|
|
BundleTask = require("objective-j/jake").BundleTask;
|
|
|
|
$BUILD_PATH = FILE.join($BUILD_DIR, $CONFIGURATION, 'AppKit');
|
|
|
|
AppKitFiles = new FileList("**/*.j").exclude('CoreGraphics/CGContextCanvas.j', 'CoreGraphics/CGContextVML.j', 'Themes/**/*', 'Tools/**/*', "Platform/DOM/CPPlatform.j", "Platform/DOM/CPPlatformString.j");
|
|
|
|
FIXME_fileDependency (FILE.join("Platform", "CPPlatform.j"), FILE.join("Platform", "DOM", "CPPlatform.j"));
|
|
FIXME_fileDependency (FILE.join("Platform", "CPPlatformString.j"), FILE.join("Platform", "DOM", "CPPlatformString.j"));
|
|
|
|
appKitTask = framework ("AppKit", function(appKitTask)
|
|
{
|
|
appKitTask.setBuildIntermediatesPath(FILE.join($BUILD_DIR, "AppKit.build", $CONFIGURATION))
|
|
appKitTask.setBuildPath($BUILD_CONFIGURATION_DIR);
|
|
|
|
appKitTask.setAuthor("280 North, Inc.");
|
|
appKitTask.setEmail("feedback @nospam@ 280north.com");
|
|
appKitTask.setSummary("AppKit classes for Cappuccino");
|
|
appKitTask.setIdentifier("com.280n.AppKit");
|
|
appKitTask.setVersion(getCappuccinoVersion());
|
|
appKitTask.setLicense(BundleTask.License.LGPL_v2_1);
|
|
appKitTask.setSources(AppKitFiles);
|
|
appKitTask.setResources(new FileList("Resources/**/*"));
|
|
appKitTask.setFlattensSources(true);
|
|
appKitTask.setInfoPlistPath("Info.plist");
|
|
|
|
// Grab all the .h's and just include them in each file.
|
|
var INCLUDES = new FileList("**/*.h").map(function(aFilename)
|
|
{
|
|
return "--include \"" + aFilename + "\"";
|
|
}).join(" ");
|
|
|
|
if ($CONFIGURATION === "Release")
|
|
appKitTask.setCompilerFlags("-O " + INCLUDES);
|
|
else
|
|
appKitTask.setCompilerFlags("-DDEBUG -g " + INCLUDES);
|
|
});
|
|
|
|
$BUILD_CJS_CAPPUCCINO_APPKIT = FILE.join($BUILD_CJS_CAPPUCCINO_FRAMEWORKS, "AppKit");
|
|
|
|
filedir ($BUILD_CJS_CAPPUCCINO_APPKIT, ["AppKit"], function()
|
|
{
|
|
cp_r(appKitTask.buildProductPath(), $BUILD_CJS_CAPPUCCINO_APPKIT);
|
|
});
|
|
|
|
subtasks (["Themes"], ["clean", "clobber"]);
|
|
|
|
task ("Theme", [$BUILD_CJS_CAPPUCCINO_APPKIT], function()
|
|
{
|
|
subjake(["Themes"], "build");
|
|
|
|
cp_r(FILE.join($BUILD_DIR, $CONFIGURATION, 'Aristo.blend'), FILE.join($BUILD_PATH, 'Resources', 'Aristo.blend'));
|
|
cp_r(FILE.join($BUILD_DIR, $CONFIGURATION, 'Aristo.blend'), FILE.join($BUILD_CJS_CAPPUCCINO_APPKIT, "Resources", "Aristo.blend"));
|
|
|
|
cp_r(FILE.join($BUILD_DIR, $CONFIGURATION, 'Aristo2.blend'), FILE.join($BUILD_PATH, 'Resources', 'Aristo2.blend'));
|
|
cp_r(FILE.join($BUILD_DIR, $CONFIGURATION, 'Aristo2.blend'), FILE.join($BUILD_CJS_CAPPUCCINO_APPKIT, "Resources", "Aristo2.blend"));
|
|
});
|
|
|
|
task ("build", ["AppKit", $BUILD_CJS_CAPPUCCINO_APPKIT, "Theme"]);
|
|
|
|
CLOBBER.include($BUILD_CJS_CAPPUCCINO_APPKIT);
|