La situation la plus courante est lorsque vous souhaitez installer la dernière version de cmake, mais que les dépôts de votre système d'exploitation ne sont pas à jour. Par exemple, dans mon cas, j'ai un ordinateur portable exécutant Ubuntu 16.04, et lorsque j'ai exécuté la commande sudo apt install cmake
, la version installée était 3.5.1; au lieu de 3.22.2 qui est la version actuelle sur le site cmake.org.
Teo, comment puis-je obtenir la dernière version?
Eh bien, nous pouvons l'installer en suivant l'une de ces méthodes:
- Utilisation des dépôts APT
- Construction et installation à partir des sources
- Utilisation de fichiers binaires
A. Utilisation des dépôts APT (Recommandé pour les utilisateurs normaux)
Kitware fournit désormais un Dépôt APT qui prend en charge Ubuntu 16.04, 18.04 et 20.04. Nous pouvons donc l'installer facilement en suivant ces étapes :
A-1. Désinstallez la version par défaut fournie par le gestionnaire de paquets d'Ubuntu et la configuration en utilisant :
sudo apt remove --purge --auto-remove cmake
ou :
sudo apt purge --auto-remove cmake
A-2. Préparez-vous à l'installation
sudo apt update && \
sudo apt install -y software-properties-common lsb-release && \
sudo apt clean all
A-3. Obtenez une copie de la clé de signature de Kitware.
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
A-4. Ajoutez le dépôt de Kitware à votre liste de sources pour Ubuntu Focal Fossa (20.04), Ubuntu Bionic Beaver (18.04) et Ubuntu Xenial Xerus (16.04).
sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main"
A-5. En tant qu'étape facultative, il est recommandé d'installer également le paquet kitware-archive-keyring
pour garantir que le trousseau de clés de Kitware reste à jour pendant qu'ils font tourner leurs clés.
sudo apt update
sudo apt install kitware-archive-keyring
sudo rm /etc/apt/trusted.gpg.d/kitware.gpg
A-6. Enfin, nous pouvons mettre à jour et installer le paquet cmake
.
sudo apt update
sudo apt install cmake
B. Construction et Installation (Recommandé pour les développeurs)
Pour cette approche, vous devez installer les outils GCC :
sudo apt update
sudo apt install build-essential libtool autoconf unzip wget
B-1. Désinstallez la version par défaut fournie par le gestionnaire de paquets d'Ubuntu comme dans A-1.
B-2. Allez sur la page web officielle de CMake, puis téléchargez et extrayez la dernière version. Mettez à jour les variables version
et build
dans la commande suivante pour obtenir la version souhaitée :
version=3.22
build=2
## ne pas modifier à partir d'ici
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/
B-3. Installez la source extraite en exécutant :
./bootstrap
make -j$(nproc)
sudo make install
B-4. Testez votre nouvelle version cmake
.
$ cmake --version
Résultats de cmake --version
:
cmake version 3.22.X
Suite CMake maintenue et prise en charge par Kitware (kitware.com/cmake).
C. Utilisation de fichiers binaires (cmake-gui
pourrait ne pas bien fonctionner)
C-1. Désinstallez la version par défaut fournie par le gestionnaire de paquets d'Ubuntu comme dans A-1.
C-2. Allez sur la page web officielle de CMake, puis téléchargez et installez la dernière version en .sh
dans opt/cmake
. Mettez à jour les variables version
et build
dans la commande suivante pour obtenir la version souhaitée :
version=3.22
build=2
## ne pas modifier à partir d'ici
limit=3.20
result=$(echo "$version >= $limit" | bc -l)
os=$([ "$result" == 1 ] && echo "linux" || echo "Linux")
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build-$os-x86_64.sh
sudo mkdir /opt/cmake
sudo sh cmake-$version.$build-$os-x86_64.sh --prefix=/opt/cmake
C-3. Ajoutez le lien binaire installé à /usr/local/bin/cmake
en exécutant ceci :
sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
C-4. Testez votre nouvelle version cmake
comme dans B-4.
Note
Dans 3.22.X, le X représente la dernière partie de la version que nous avons définie comme build. Le build peut changer si cmake est mis à jour. Selon la page officielle, la Dernière version est 3.22.2. Si vous souhaitez la Version précédente 3.21.4, remplacez simplement les paramètres de version et de build comme ceci :
version=3.21
build=4
## ne pas modifier à partir d'ici
limit=3.20
result=$(echo "$version >= $limit" | bc -l)
os=$([ "$result" == 1 ] && echo "linux" || echo "Linux")
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build-$os-x86_64.sh
sudo mkdir /opt/cmake
sudo sh cmake-$version.$build-$os-x86_64.sh --prefix=/opt/cmake
Observation
Pour les versions antérieures de CMake (3.19.7 <=), rappelez-vous que le nom du fichier contient une majuscule L
dans -Linux-x86_64.sh
et à partir de la version 3.20, il a une minuscule l
dans -linux-x86_64.sh