Professional CMake:

A Practical Guide

Go beyond trivial examples and learn how to use CMake effectively with practical advice direct from a CMake co-maintainer

 

CMake Now Available As A Snap

Last week’s Snapcraft Summit in Montreal was a fantastic opportunity to work directly with staff from Canonical and Travis CI, experienced Snapcraft users and key people from other projects, all with the goal of getting more languages and build tools supported in the snap ecosystem. It was a privilege to attend and I’m pleased to announce that as a result of that summit, CMake can now be installed as a snap on all major Linux distributions.

The CMake snap is a convenient way to stay up to date with recent CMake releases, especially where the packages provided by your Linux distribution may fall behind or are no longer being updated. By default, installed snaps automatically follow the latest stable release and will update in the background. For more control, separate channels are provided for the latest stable release, release candidates and a daily build of latest master (a.k.a edge). Feature releases also have dedicated channels to allow you to be in control of when you move from one feature release to another. Switching between channels is simple and can be done at any time, making it very convenient for temporarily testing out a release candidate or a fix from the daily builds.

The table below summarises the available channels. Click through for full details, including distribution-specific, step-by-step instructions for how to install the CMake snap (and the snapd daemon if required).

Known Issues

  • The snap system does not allow a home directory path containing a symlink. For example, a path like /export/home/mylogin where /export/home points to /home will result in an error whenever a snap tries to run its commands. Home directories other than /home/$USERNAME are also not currently supported. These constraints of snapd can be tracked in this bug report.
  • Bash shell command completion currently doesn’t work for CentOS and Fedora due to a snapd package misconfiguration. A fix has already been identified and should hopefully be included in a future snapd release.

Leave a Reply (all comments are moderated)

This site uses Akismet to reduce spam. Learn how your comment data is processed.