makeVCBuildArgs option added

This commit is contained in:
Silvio Massari
2016-05-05 14:38:28 -03:00
parent 541765e1d1
commit 88e5e05d49
2 changed files with 15 additions and 7 deletions
+4
View File
@@ -142,6 +142,10 @@ nexe.compile({
nodeTempDir: 'src', // where to store node source.
nodeConfigureArgs: ['opt', 'val'], // for all your configure arg needs.
nodeMakeArgs: ["-j", "4"], // when you want to control the make process.
nodeVCBuildArgs: ["nosign", "x64"], // when you want to control the make process for windows.
// By default "nosign" option will be specified
// You can check all available options and its default values here:
// https://github.com/nodejs/node/blob/master/vcbuild.bat
python: 'path/to/python', // for non-standard python setups. Or python 3.x forced ones.
resourceFiles: [ 'path/to/a/file' ], // array of files to embed.
resourceRoot: [ 'path/' ], // where to embed the resourceFiles.
+11 -7
View File
@@ -126,7 +126,7 @@ exports.compile = function(options, complete) {
* first download node
*/
function downloadNode(next) {
_downloadNode(version, options.nodeTempDir, options.nodeConfigureArgs, options.nodeMakeArgs, next);
_downloadNode(version, options.nodeTempDir, options.nodeConfigureArgs, options.nodeMakeArgs, options.nodeVCBuildArgs, next);
},
/**
@@ -279,13 +279,13 @@ exports.compile = function(options, complete) {
* @param {function} complete, callback
*/
function _downloadNode(version, directory, nodeConfigureArgs, nodeMakeArgs, complete) {
function _downloadNode(version, directory, nodeConfigureArgs, nodeMakeArgs, nodeVCBuildArgs, complete) {
var nodeFileDir = path.resolve(path.join(directory, framework, version)), // fixes #107, was process.cwd(), + rest.
nodeFilePath = path.resolve(path.join(nodeFileDir, framework + "-" + version + ".tar.gz"));
// might already be downloaded, and unzipped
if (_getNodeCompiler(nodeFileDir, nodeConfigureArgs, nodeMakeArgs, complete)) {
if (_getNodeCompiler(nodeFileDir, nodeConfigureArgs, nodeMakeArgs, nodeVCBuildArgs, complete)) {
return;
}
@@ -436,7 +436,7 @@ function _downloadNode(version, directory, nodeConfigureArgs, nodeMakeArgs, comp
*/
function(next, type) {
_getNodeCompiler(nodeFileDir, nodeConfigureArgs, nodeMakeArgs, next, type)
_getNodeCompiler(nodeFileDir, nodeConfigureArgs, nodeMakeArgs, nodeVCBuildArgs, next, type)
},
], complete);
@@ -447,7 +447,7 @@ function _downloadNode(version, directory, nodeConfigureArgs, nodeMakeArgs, comp
* it.
*/
function _getNodeCompiler(nodeFileDir, nodeConfigureArgs, nodeMakeArgs, complete, type) {
function _getNodeCompiler(nodeFileDir, nodeConfigureArgs, nodeMakeArgs, nodeVCBuildArgs, complete, type) {
var dir = _getFirstDirectory(nodeFileDir);
// standard
@@ -475,8 +475,12 @@ function _getNodeCompiler(nodeFileDir, nodeConfigureArgs, nodeMakeArgs, complete
newEnv.path = process.env.PATH + ";" + path.dirname(isPy)
}
if (!nodeVCBuildArgs || !nodeVCBuildArgs.length) {
nodeVCBuildArgs = [ "nosign" ]; // "release" is already the default config value in VCBuild.bat
}
// spawn a vcbuild process with our custom enviroment.
var vcbuild = spawn("vcbuild.bat", ["nosign", "release"], {
var vcbuild = spawn("vcbuild.bat", nodeVCBuildArgs, {
cwd: dir,
env: newEnv
});
@@ -978,11 +982,11 @@ exports.package = function(path, options) {
input: (_package.nexe.input || options.i),
output: (_package.nexe.output || options.o),
flags: (_package.nexe.runtime.ignoreFlags || (options.f || false)),
nodeMakeArgs: (_package.nexe.runtime.nodeMakeArgs || []),
resourceFiles: (_package.nexe.resourceFiles),
nodeVersion: (_package.nexe.runtime.version || options.r),
nodeConfigureArgs: (_package.nexe.runtime.nodeConfigureArgs || []),
nodeMakeArgs: (_package.nexe.runtime.nodeMakeArgs || []),
nodeVCBuildArgs: (_package.nexe.runtime.nodeVCBuildArgs || []),
jsFlags: (_package.nexe.runtime['js-flags'] || options.j),
python: (_package.nexe.python || options.p),
debug: (_package.nexe.debug || options.d),