Comments (10)
@gengjiawen if you want to champion this then I'd support it. It's just something that needs people and there's no extra bandwidth here in the existing team to extend to this. We can bolster the test suite and CI to make sure it works nicely though.
Some things to be aware of when deciding to invest in this though:
- https://github.com/cmake-js/cmake-js is relatively popular and I expect it to gain in popularity. People are already switching their addon builds to it and IMO that kind of diversity is a good thing.
- We want to push toward gyp.js in the near future. The plan is to put out a release with an opt-in
--gypjs
and iterate on its compatibility to where it's opt-out and eventually remove gyp.py. Currently gyp.js depends on ninja.js for builds, having CMake output would be a nice addition to it.
from gyp-next.
I am thinking make cmake-support more offcial, reopening this
Related: https://github.com/orgs/nodejs/teams/collaborators/discussions/78
from gyp-next.
Not sure why to discuss this in node-gyp
, wouldn't we need a node-cmake
to use cmake for native modules?
In nodejs/TSC#648 there seems to be consensus that the build system for node core doesn't need to be the same for native modules. I don't think we will be able to stop supporting node-gyp soon, even if we move to something else there will probably be modules that will take a long time to update.
In my opinion, it would be great if we could find the resources to make Gyp.js the solution, not breaking anything in the ecosystem and not depending on anything besides Node.
from gyp-next.
Not sure why to discuss this in
node-gyp
, wouldn't we need anode-cmake
to use cmake for native modules?
https://github.com/cmake-js/cmake-js already exists for native modules.
from gyp-next.
Not sure why to discuss this in
node-gyp
, wouldn't we need anode-cmake
to use cmake for native modules?
I mean the CMake files for node itself. node-gyp can gernerate CMake files, but not tested for nodejs repo.
CMake function is defined in https://github.com/nodejs/node-gyp/blob/master/gyp/pylib/gyp/generator/cmake.py.
from gyp-next.
Not sure why to discuss this in
node-gyp
, wouldn't we need anode-cmake
to use cmake for native modules?I mean the CMake files for node itself. node-gyp can gernerate CMake files, but not tested for nodejs repo.
CMake function is defined in https://github.com/nodejs/node-gyp/blob/master/gyp/pylib/gyp/generator/cmake.py.
Then as @joaocgreis pointed out this discussion item is in the wrong place. This repository is for the node-gyp
module used to compile native addons.
from gyp-next.
I see. It should be in gyp then, though it's maintained by google.
from gyp-next.
I see. It should be in gyp then, though it's maintained by google.
@refack Whatever happened to nodejs/admin#247?
from gyp-next.
For anyone want to try cmake, you can change the code here, change it to argv.push('-f', 'cmake')
:
https://github.com/nodejs/node-gyp/blob/2592036261ec588689e07072e1bef31993a9d7ac/lib/configure.js#L228-L240
from gyp-next.
Also, you can directly use node-gyp configure -- -f cmake
from gyp-next.
Related Issues (20)
- Get the location of msbuild.exe HOT 5
- Built-in method to get path of current gyp/gypi file?
- Expansions not working for `'includes'` list items? HOT 3
- Visual Studio 2022 RC - Unknown Version? HOT 1
- Security concern HOT 22
- GitHub Action nodejs-windows.yml has been failing for 5 months HOT 1
- Re-enable node-gyp integration workflow HOT 2
- TypeError in xcodeproj_file.py HOT 3
- gyp-next on pypi.org is out of date by 2 years HOT 1
- Action file paths being incorrectly "fixed" with forward slashes in MSVS
- Build failure due to spaces in path HOT 1
- KeyError: 'build_type' trying to build NSS with gyp-next >0.12.1 HOT 1
- broke compilation of nodejs-mobile for iOS from a x64 macBook HOT 2
- Python tests broken HOT 1
- Testing on pre-release (beta) versions of Python HOT 2
- [feature] Shell completion
- [typo] miss <
- npm ERR! gyp: Undefined variable android_ndk_path in binding.gyp while trying to load binding.gyp HOT 7
- pypi is still at 0.15.0 HOT 3
- The return of `ModuleNotFoundError: No module named 'packaging'` on Py3.12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from gyp-next.