Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CITGM compatibility / cmake usage #376

Open
BridgeAR opened this issue Dec 17, 2019 · 6 comments
Open

CITGM compatibility / cmake usage #376

BridgeAR opened this issue Dec 17, 2019 · 6 comments

Comments

@BridgeAR
Copy link

BridgeAR commented Dec 17, 2019

Is your feature request related to a problem? Please describe.

zeromq is currently tested on citgm as kind of smoke test to guarantee that it does not break in case Node.js internals change. Due to the recent move to cmake it's not possible to compile it anymore on our infrastructure.

Describe the solution you'd like

Please indicate if it's possible to move away from the cmake requirement. Removing that dependency would make it possible to run the test suite again with CITGM so that we are able to provide stable Node.js releases.

Otherwise we have to remove zeromq from CITGM and that would be not be ideal.

Refs: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/2134/nodes=osx1011/testReport/junit/(root)/citgm/zeromq_v6_0_0_beta_5/
(Only available for ~7 days)

@rolftimmermans
Copy link
Member

ZeroMQ (libzmq) itself uses CMake exclusively for Windows builds and optionally for other platforms, and we're following along that path. Using & supporting two different build systems is not really something I'm looking forward to.

Is it at all a possibility to include CMake in the test image? It should be as simple as adding the OS package for CMake.

@BridgeAR
Copy link
Author

I am not sure if the optional part works properly. It does fail with a hard error in case cmake is not available on OSX and Linux.

Refs: nodejs/build#2097

@rolftimmermans
Copy link
Member

rolftimmermans commented Dec 17, 2019

No, we do use CMake exclusively, that's correct. CMake for libzmq is optional, but CMake for zeromq.js is required ATM, because it ensures a uniform way to build the project across all platforms. If CMake were optional we'd have to support multiple build systems (CMake + autotools), which would be quite a big time sink and not necessary at all from the perspective of this project.

To be honest I think CMake is the de-facto system to build C++/C projects in a consistent manner across Windows + *nix platforms so it would be nice to have it more adopted in the Node community. It's quite simple to install, too...

(For dependency-free Node add-on projects using only Gyp might be fine, but libzmq is obviously a huge component of this library.)

@BridgeAR
Copy link
Author

@rolftimmermans we are trying to get everything set up properly. Our infrastructure is just quite complex and have lots of systems to maintain but only few maintainers. That is probably the main issue on our side (I am not part of the Node.js build working group).

Sounds like we'll have to keep zeromq deactivated until we are able to provide cmake on our side. Thank you for your fast response though! I'll keep this issue open until it's resolved on our side, if that's fine for you.

@rolftimmermans
Copy link
Member

Yes, sure! Can I assist in any way to get CMake set up on the appropriate build images?

@BridgeAR
Copy link
Author

Thank you very much the offer. If you would like to become involved with Node.js, that would be great! Please feel free to reach out to the build working group to ask in what way you could get involved. I guess direct access is not possible but help is always appreciated!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants