Skip to content

Commit b3530ae

Browse files
committed
fix: fix parsing of Visual studio generators
1 parent 97af51f commit b3530ae

File tree

7 files changed

+216
-85
lines changed

7 files changed

+216
-85
lines changed

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@
8888
"@types/which": "3.0.4",
8989
"@types/escape-quotes": "1.0.0",
9090
"@upleveled/babel-plugin-remove-node-prefix": "1.0.5",
91+
"@types/memoizee": "0.4.7",
9192
"turbo": "2.5.0",
9293
"cross-env": "7.0.3",
9394
"eslint": "^8",
@@ -116,9 +117,10 @@
116117
"node-downloader-helper": "^2.1.9",
117118
"escape-quotes": "^1.0.2",
118119
"commander": "^13.1.0",
119-
"msvc-dev-cmd": "github:aminya/msvc-dev-cmd#c01f519bd995460228ed3dec4df51df92dc290fd"
120+
"msvc-dev-cmd": "github:aminya/msvc-dev-cmd#c01f519bd995460228ed3dec4df51df92dc290fd",
121+
"memoizee": "0.4.17"
120122
},
121-
"packageManager": "pnpm@10.7.1",
123+
"packageManager": "pnpm@10.8.0",
122124
"$schema": "https://raw.githubusercontent.com/SchemaStore/schemastore/master/src/schemas/json/package.json",
123125
"pnpm": {
124126
"onlyBuiltDependencies": ["@biomejs/biome", "core-js", "esbuild"]

pnpm-lock.yaml

Lines changed: 131 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/argumentBuilder.ts

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,12 +17,10 @@ export class ArgumentBuilder {
1717
const defines = await this.buildDefines()
1818
baseCommand += ` ${defines.map((d) => `-D${d[0]}="${d[1]}"`).join(" ")}`
1919
if (this.config.generatorToUse !== "native") {
20-
let generatorString = ` -G"${this.config.generatorToUse}"`
21-
if (generatorString.match(/Visual\s+Studio\s+\d+\s+\d+\s-A/)) {
22-
generatorString = generatorString.replace(/\s-A/, "")
23-
generatorString += ` -A ${this.config.arch}`
20+
baseCommand += ` -G"${this.config.generatorToUse}"`
21+
if (this.config.generatorFlags !== undefined) {
22+
baseCommand += ` ${this.config.generatorFlags.map((f) => `"${f}"`).join(" ")}`
2423
}
25-
baseCommand += generatorString
2624
}
2725
logger.debug(baseCommand)
2826
return baseCommand
@@ -140,7 +138,7 @@ export class ArgumentBuilder {
140138
*
141139
* @note Based on https://stackoverflow.com/a/70498851/7910299
142140
*/
143-
function getCMakeArchitecture(arch: NodeJS.Architecture, os: NodeJS.Platform) {
141+
export function getCMakeArchitecture(arch: NodeJS.Architecture, os: NodeJS.Platform) {
144142
return os in cmakeArchMap && arch in cmakeArchMap[os]
145143
? cmakeArchMap[os][arch]
146144
: os === "win32"

0 commit comments

Comments
 (0)