[nanomsg] Re: NNG & modern CMake

  • From: Cody Piersall <cody.piersall@xxxxxxxxx>
  • To: nanomsg@xxxxxxxxxxxxx
  • Date: Thu, 2 Jan 2020 17:03:18 -0600

The only place where the requirement *might* be onerous for me
personally would be when I'm building distributions for SoC boards
with the Yocto project.  I'm not sure what version of CMake is used
for each different Yocto release, and a quick Google search didn't
reveal anything.

For those unfamiliar with the Yocto project, it is a toolchain for
building entire custom Linux distributions, including the bootloader,
Linux kernel, and all of userspace. Each Yocto release pins versions
of all the build software it uses to get (closer to) deterministic
builds, including the host gcc, host libc, etc.  So each Yocto release
will have a specific version of CMake that it uses to cross-compile
everything.

Does anyone else know which version of CMake the various Yocto
releases use, or how to find out?  And how easy it is to use a
different host version?  Changing the CMake version would potentially
have unexpected side effects elsewhere.

Cody

On Wed, Jan 1, 2020 at 7:22 PM Garrett D'Amore <garrett@xxxxxxxxxx> wrote:


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
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: