## 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 ```bash apt-cache policy cmake ``` ## Build CMake 3.20 ```bash # 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 ```bash 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 ```bash apt-cache policy cmake ``` ```bash cmake --version ``` ```bash 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 ```bash # idenitfy version of interest apt-cache policy cmake # switch to different version (from policy above) apt-get install cmake=VERSION ```