Skip to content

Instantly share code, notes, and snippets.

@bmegli
Last active January 30, 2024 07:32
Show Gist options
  • Star 32 You must be signed in to star a gist
  • Fork 11 You must be signed in to fork a gist
  • Save bmegli/4049b7394f9cfa016c24ed67e5041930 to your computer and use it in GitHub Desktop.
Save bmegli/4049b7394f9cfa016c24ed67e5041930 to your computer and use it in GitHub Desktop.
CMake 3.20 in Ubuntu 18.04 (reversible way)

Motivatation

  • modern CMake is required for building a lot of new software
  • CMake is dependency for many packages (e.g. ROS related)
  • we don't want to remove CMake (which would remove packages that depend on it)
  • we want safe procedure to update CMake that can be reversed easily

Current version in OS

Check current version

apt-cache policy cmake

Build CMake 3.20

# get and build CMake
wget https://github.com/Kitware/CMake/releases/download/v3.20.0/cmake-3.20.0.tar.gz
tar -zvxf cmake-3.20.0.tar.gz
cd cmake-3.20.0
./bootstrap
make -j8

Install as package

So that we can easily remove it later

sudo apt-get install checkinstall
# this will take more time than you expect
sudo checkinstall --pkgname=cmake --pkgversion="3.20-custom" --default
# reset shell cache for tools paths
hash -r

Verify installation

apt-cache policy cmake
cmake --version
which cmake

Uninstall

This step only if you want to revert back

  • we don't want to remove cmake
  • this could cause removal of packages that depend on it (e.g. ROS)
  • instead we switch back to previous version
# idenitfy version of interest
apt-cache policy cmake
# switch to different version (from policy above)
apt-get install cmake=VERSION
@Orionsgate
Copy link

Thank you.

Anyone on a fresh Ubuntu 18.04 desktop 'minimal' install will need to apt install g++ and libssl-dev first.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment