How do I install the latest version of cmake from the command line?
The most common situation is when you want to install the latest version of cmake, but your Operating System's repositories are not updated. For example, in my case I have a laptop running Ubuntu 16.04, and when I executed the command sudo apt install cmake
the installed version was 3.5.1; instead of 3.19.1 which is the current version at cmake.org.
How can I get the latest version?
Well, we can install it by following one of these methods: Building and Installing or Using binary files.
A. Building and Installing (recommended)
A-1. Uninstall the default version provided by Ubuntu's package manager and configuration by using:
sudo apt remove --purge --auto-remove cmake
or:
sudo apt purge --auto-remove cmake
A-2. Go to the official CMake webpage, then download and extract the latest version. Update the version
and build
variables in the following command to get the desired version:
version=3.19
build=1
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz
tar -xzvf cmake-$version.$build.tar.gz
cd cmake-$version.$build/
A-3. Install the extracted source by running:
./bootstrap
make -j$(nproc)
sudo make install
A-4. Test your new cmake
version.
$ cmake --version
Results of cmake --version
:
cmake version 3.19.X
CMake suite maintained and supported by Kitware (kitware.com/cmake).
B. Using binary files (cmake-gui
wont work well)
B-1. Uninstall the default version provided by Ubuntu's package manager as in A-1.
B-2. Go to the official CMake webpage, then download and install the latest .sh
version in opt/cmake
. Update the version
and build
variables in the following command to get the desired version:
version=3.19
build=1
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build-Linux-x86_64.sh
sudo mkdir /opt/cmake
sudo sh cmake-$version.$build-Linux-x86_64.sh --prefix=/opt/cmake
B-3. Add the installed binary link to /usr/local/bin/cmake
by running this:
sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
B-4. Test your new cmake
version as in A-4.
Note
In 3.19.X the X represents the last part of the version that we defined as build. The build may change if cmake is updated. According to the official web page the Latest Release is 3.19.1. If you want the Previous Release 3.18.5 just replace the version and build parameters like this:
version=3.18
build=5
Kitware now has an APT repository that currently supports Ubuntu 16.04, 18.04 and 20.04
Install Instructions:
Remove old version of cmake
sudo apt purge --auto-remove cmake
Obtain a copy of the signing key
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
Add the repository to your sources list
a. For Ubuntu Focal Fossa (20.04)
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main'
b. For Ubuntu Bionic Beaver (18.04)
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
c. For Ubuntu Xenial Xerus (16.04)
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
Update and install
sudo apt update sudo apt install cmake
First uninstall any cmake package previously installed. Then:
Go to http://www.cmake.org/download/ and download the latest .sh installer
Install it (for example) in
opt/cmake
by runningsudo mkdir /opt/cmake sudo sh <installer filename> --prefix=/opt/cmake
Add the cmake bin directory to your path: https://askubuntu.com/a/170240/359343
Installed in this way, cmake-gui
looks a little bit horrible, if you find a way to fix it please feel free to edit this answer.