Skip to content

Cmake files #107

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

Merged
merged 4 commits into from
Jan 10, 2017
Merged

Cmake files #107

merged 4 commits into from
Jan 10, 2017

Conversation

JohanMabille
Copy link
Contributor

This PR adds cmake files for installing cppzmq (and be able to find it via find_package(cppzmq)).

I've added version number in zmq.hpp and set it to 1.0.0 since there doesn't seem to be any tag / version number yet, and I don't know what the version policy should be.

@bluca
Copy link
Member

bluca commented Jan 9, 2017

Hi,

I think this header was intended to be used together with libzmq, so I'm not sure it should have its own build system with its own name and version

@JohanMabille
Copy link
Contributor Author

JohanMabille commented Jan 9, 2017

I think this header was intended to be used together with libzmq

Just like any libzmq binding. However they all have their dedicated build, version number and packaging.

Actually this is not a full build system. The nmake install command only copies cppzmq headers to the right place and make it possible to find them with the find_package command. And it is tightly coupled to libzmq since the libraries it exposes for linking are the ones of libzmq.

Without this, any package working with cppzmq would require a manual installation of it, making it impossible to have clean CI, scripted installation and so on.

@SylvainCorlay
Copy link
Contributor

I think this header was intended to be used together with libzmq, so I'm not sure it should have its own build system with its own name and version

Hum, as soon as it is not distributed with the zmq package and can have its own updates, it makes sense to have independent versioning from zmq.

@JohanMabille
Copy link
Contributor Author

@bluca would it be ok if I set the version to be the same as libzmq ? So we don't have to worry about it, and we still have the cmake packaging and installation feature.

@bluca
Copy link
Member

bluca commented Jan 10, 2017

Yes please, that would make it clearer that they are intended to be used in lock steps

@bluca bluca merged commit 178a910 into zeromq:master Jan 10, 2017
@SylvainCorlay
Copy link
Contributor

SylvainCorlay commented Jan 12, 2017

@bluca, I am looking at packaging cppzmq for conda.

Would you consider

  • tagging a release of cppzmq on GitHub?
  • allowing cppzmq to have its own version numbering following semver (so that you can make minor releases fixing bugs independently of those of libzmq)?

@bluca
Copy link
Member

bluca commented Jan 12, 2017

First of all I am really not very involved with the development of this repository, basically I am a passer-by with strong opinions and access to the green buttons :-)

My main concern is compatibility. For example in CZMQ we have a build time and runtime detection system to ensure compatibility with all supported versions of libzmq. I don't think there's anything like that in this project.
Having the versions match means it's quite clear what works with what.

If you can confirm that the current version of cppzmq works with libzmq 4.1.2, I can tag with the same number.

@SylvainCorlay
Copy link
Contributor

SylvainCorlay commented Jan 12, 2017

OK I see where you come from. The required version range for libzmq could be specified in the cmake and the docs. - It sounds like a good idea to start from the same number as the latest compatible libzmq version.

Since libzmq follows semver, any major version number of libzmq should trigger a major version number change in cppzmq.

@SylvainCorlay
Copy link
Contributor

@bluca it does work - but we have mostly been using zeromq master. A github tag would be fantastic...

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

Successfully merging this pull request may close these issues.

3 participants