mirror of https://github.com/aminya/setup-cpp
46 lines
877 B
TypeScript
46 lines
877 B
TypeScript
/* eslint-disable import/no-extraneous-dependencies */
|
|
import { execaNode } from "execa"
|
|
|
|
function getPlatformName() {
|
|
switch (process.platform) {
|
|
case "win32": {
|
|
return "windows"
|
|
}
|
|
case "darwin": {
|
|
return "macos"
|
|
}
|
|
default: {
|
|
return process.platform
|
|
}
|
|
}
|
|
}
|
|
|
|
function main() {
|
|
let exes
|
|
if (process.platform === "win32") {
|
|
exes = [".exe"]
|
|
} else if (process.platform === "darwin") {
|
|
exes = [""]
|
|
} else {
|
|
exes = [""]
|
|
}
|
|
|
|
return Promise.all(
|
|
exes.map((exe) =>
|
|
execaNode("./node_modules/caxa/build/index.mjs", [
|
|
"--input",
|
|
"./dist/node16",
|
|
"--output",
|
|
`./exe/setup-cpp-${process.arch}-${getPlatformName()}${exe}`,
|
|
"--",
|
|
`{{caxa}}/node_modules/.bin/node${exe}`,
|
|
`{{caxa}}/setup-cpp.js`,
|
|
])
|
|
)
|
|
)
|
|
}
|
|
|
|
main().catch((err) => {
|
|
throw err
|
|
})
|