[nanomsg] Re: NNG & modern CMake

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

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.

Other related posts: