addon-tools-el/index.js

60 lines
1.2 KiB
JavaScript

'use strict';
const path = require('path');
const platformNames = {
win32 : 'windows',
linux : 'linux',
darwin : 'osx',
};
const platformName = platformNames[process.platform];
const isWindows = process.platform === 'win32';
if ( ! platformName ) {
console.log(`Error: UNKNOWN PLATFORM "${process.platform}"`);
}
const rootPath = __dirname.replace(/\\/g, '/');
const napiInclude = require('node-addon-api').include.replace(/\\/g, '/');
const thisInclude = `${rootPath}/include`;
const includePath = `${napiInclude} ${thisInclude}`;
const paths = dir => {
dir = dir.replace(/\\/g, '/');
const bin = `${dir}/bin-${platformName}`;
const include = `${dir}/include`;
if (isWindows) {
process.env.path = `${bin};${process.env.path ? `${process.env.path}` : ''}`;
}
return { bin, include };
};
const mkdirPath = isWindows ? `${rootPath}/bat/mkdir.bat` : 'mkdir';
const rmPath = isWindows ? `${rootPath}/bat/rm.bat` : 'rm';
const cpPath = isWindows ? `${rootPath}/bat/cp.bat` : 'cp';
module.exports = {
paths,
bin : `bin-${platformName}`,
platform : platformName,
include : includePath,
mkdir : mkdirPath,
rm : rmPath,
cp : cpPath,
};