Is there a good PPA for cmake backports?

There is now an official CMake APT repository, hosted by Kitware (announcement), which has the latest CMake version. Currently, Ubuntu 16.04 (Xenial) and 18.04 (Bionic) are supported, but not Trusty. Instructions to set it up can be found at https://apt.kitware.com/ . I've reproduced key details here:

...

  1. Obtain a copy of our signing key:

    wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -
    
  2. Add the repository to your sources list and update.

    For Ubuntu Bionic Beaver (18.04):

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
    sudo apt-get update
    

    For Ubuntu Xenial Xerus (16.04):

    sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main' 
    sudo apt-get update
    
  3. As an optional step, we recommend that you also install our kitware-archive-keyring package to ensure that your keyring stays up to date as we rotate our keys. Do the following:

    sudo apt-get install kitware-archive-keyring
    sudo apt-key --keyring /etc/apt/trusted.gpg del C1F34CDD40CD72DA
    

After this, sudo apt-get install cmake will install the latest CMake.


I know I was asking for a PPA but in general terms any reliable deployment of cmake for 14.04/16.04 is good. Kitware's blog shows an answer:

https://blog.kitware.com/cmake-python-wheels/

They seem to officially support a pip wheels release. So you can get latest cmake just by doing:

pip install --upgrade cmake

In addition, if you are using virtualenv or conda, you can have different cmake versions at the same time.

Update: the pip package may show a low version number. At the moment, it is 0.8, however, it does install cmake 3.9


There seems to be no reliable PPA with the most modern version of cmake in place but if you are happy with using prebuilt binaries from the cmake download page the following should help (for 64bit Ubuntu):

cd $HOME
wget https://cmake.org/files/v3.12/cmake-3.12.0-Linux-x86_64.sh
sudo sh cmake-3.12.0-Linux-x86_64.sh --prefix=/usr/local --exclude-subdir

This is not integrated with the Ubuntu package management system but installs neatly to /usr/local and on my system then demonstrates the following:

andrew@ilium:~$ cmake --version | head -n1
cmake version 3.12.0

Subsequent removal is simply a matter of running the following single command in a Terminal window:

sudo rm -rfv /usr/local/bin/{cmake,cpack,ccmake,cmake-gui,ctest} \
             /usr/local/doc/cmake \
             /usr/local/man/man1/{ccmake.1,cmake.1,cmake-gui.1,cpack.1,ctest.1} \
             /usr/local/man/man7/cmake-* \
             /usr/local/share/cmake-3.12

This leaves your system clean and perhaps ready to install an even more modern version :).

References:

  • cmake: Get the Software The official download page for cmake. Some extra information concerning the .sh installer files.