Open mafintosh opened 3 years ago
libsodium
issues: https://github.com/nodejs/node-gyp/search?q=libsodium&type=issues
I've moved this issue to gyp-next. @mafintosh, most of the logic you want is inside gyp-next which is a separate repo now and designed to be consumed as a python library. I'm neither a Python, nor a Windows person, and that particular combination of skills is in fairly low supply in the nodejs org, but maybe one of the folks here could point you in the right direction to start sniffing down what you want.
@nodejs/gyp
I believe the (better) logic is in node-gyp nowadays, since https://github.com/nodejs/node-gyp/pull/1762. So there are a few options:
require('node-gyp/lib/find-visualstudio.js')(...)
.vswhere.exe
node-gyp configure
and then extract variables.msbuild_path
from build/config.gypi
node-gyp
to print those variables.The last 2 options are the best IMO, because there's no Python, C# or exe to bundle, and it will respect the user's configuration (npm_config_msvs_version
and what not).
Sample build/config.gypi
:
# Do not edit. File was generated by node-gyp's "configure" step
{
"target_defaults": {
...
},
"variables": {
...
"msbuild_path": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Professional\\MSBuild\\Current\\Bin\\MSBuild.exe",
}
}
As the "Python guy" working on the gyp project for the past several years, it would be great if this community could wean itself off of the need for Python. It is easier for this community to code and maintain solutions in JavaScript so please continue migrating in that direction.
Hi!
Just a quick question, but node-gyp is really good at finding the right location of the msbuild.exe to use when compiling. For some very specific compilation stuff we do with libsodium we also need to find it, and have so far been duplication the logic in sodium-native for that.
This made me wonder, is there a CLI command or something equivalent to print the location of msbuild.exe so we can just re-use the great logic already in this tool?