[nanomsg] Re: NNG & modern CMake

  • From: Garrett D'Amore <garrett@xxxxxxxxxx>
  • To: "nanomsg@xxxxxxxxxxxxx" <nanomsg@xxxxxxxxxxxxx>
  • Date: Thu, 2 Jan 2020 08:02:56 -0800

Thanks George.

The specific question was whether requiring newer CMake was going to cause a 
significant burden.  I am *certain* that for the vast majority of folks, this 
will be a far lower than burden than requiring a completely different build 
system (meson or bazel for instance).

There are people for whom the requirement of *any* build system is onerous – 
some have asked for a way to turn all of nng into a single C file or header 
file library even.  But even for those people, getting CMake installed is a 
fairly low bar.  Especially as modern CMake is available and pre-packaged for 
pretty much all the mainstream platforms, with no need to install anything else.

Sent from Mail for Windows 10

From: George Lambert
Sent: Thursday, January 2, 2020 7:46 AM
To: nanomsg@xxxxxxxxxxxxx
Subject: [nanomsg] Re: NNG & modern CMake

I defer my support to Garrett if this is a Consensus decision but it is not the 
final decision belongs to 

Garrett anyway. 

George Lambert 

On Thu, Jan 2, 2020 at 10:44 AM George Lambert <marchon@xxxxxxxxx> wrote:

I generally lurk more than contribute, but in this case I have an opinion. 

This is a good idea. The users here are engineers not end users so we should be 
able to work together  to  Fix any problems from our unique environments that 
come up, but the goal is the best library itself. 

Not compilation tools or build process, we all have to deal with build process 
challenges from time to time. 

George 

On Thu, Jan 2, 2020 at 10:33 AM Mauro Delazeri <maurodelazeri@xxxxxxxxx> wrote:
I think cmake is good enough

On Thu, Jan 2, 2020 at 10:23 AM Garrett D'Amore <garrett@xxxxxxxxxx> wrote:
Hi Franklin,
 
Thanks for sharing your thoughts.
 
Actually, I find the python requirement to be somewhat onerous – I don’t use 
Python regularly, and I’ve got too much scar tissue around competing 
dependencies and the 18 different ways that Python projects try to cope around 
that (such as virtual environments.)
 
The other thing is that Meson doesn’t have as much traction with IDE support or 
mindshare in the community.
 
The final thing is that I have a lot invested in CMake at this point – and I 
don’t think I’m the only one.  Picking up yet another build & configure 
language just isn’t something I want to spend time on unless there is a real 
benefit to doing so.
 
Sent from Mail for Windows 10
 
From: Franklin Mathieu
Sent: Thursday, January 2, 2020 1:29 AM
To: nanomsg@xxxxxxxxxxxxx
Subject: [nanomsg] Re: NNG & modern CMake
 
Hey Garrett,
 
Did you have the chance to look at Meson[1] too? It has been gaining
quite the traction for C and C++ projects and I've found it to be way
nicer than CMake overall on my own projects, mostly due to not having
to work around quirks in older versions of CMake, and a proper DSL
where everything isn't just strings. Plus, the only thing Meson
requires is Python 3 and can be installed via pip if there's no
package available for the distro (or on Windows, macOS), so there's no
real issue about availability or using a more recent version.
 
Cheers,
 
[1]: https://mesonbuild.com
 
Le jeu. 2 janv. 2020 à 01:22, Garrett D'Amore <garrett@xxxxxxxxxx> a écrit :

 
All,
 
 
 
This is a heads up (and a request for objections if any) that at some point 
soon a future release of NNG (possibly starting with v1.3) will require 
significantly newer CMake versions.  I’m contemplating requiring at least 
3.13, and probably more like 3.14 or even 3.15.
 
 
 
There are a number of features that more recent CMake brings to the table, 
which potentially reduce the effort required to have easily supportable, 
flexible configuration.  At present we are working around limitations in 
older releases, but it’s becoming somewhat annoying to have to keep doing so. 
 Note that CMake binaries are packaged and freely and readily available for 
Ubuntu 16.x and newer, RedHat 7.x and newer, Windows, and macOS.  Recent 
Visual Studio 2019 even *includes* cmake 3.15.
 
 
 
This might make things slightly more annoying for folks using CMake on 
non-mainstream platforms, but even on those platforms bootstrapping CMake is 
generally a very simple task.  (Note also that modern CMake can cross compile 
easily, so even if your target environment is not mainstream, you won’t be 
impacted as long as your *development* system isn’t too far off the beaten 
path.)
 
 
 
If this is going to cause anyone undue stress, please let me know.
 
 
 
Garrett
 
 
 
-- 
Franklin Mathieu
Sent to you because via the nanomsg@xxxxxxxxxxxxx mailing list.
The nanomsg home page is www.nanomsg.org.
To unsubscribe, use the web interface at www.freelists.org.
 



-- 
Mauro Delazeri
+1 646 275 7568
New York - NY
https://www.zinnion.com
-- 
P THINK BEFORE PRINTING: is it really necessary?

This e-mail and its attachments are confidential and solely for the
intended addressee(s). Do not share or use them without approval. If received 
in error, contact the sender
and delete them.
-- 
P THINK BEFORE PRINTING: is it really necessary?

This e-mail and its attachments are confidential and solely for the
intended addressee(s). Do not share or use them without approval. If received 
in error, contact the sender
and delete them.

Other related posts: