Browse Source

first commit

wareck 1 year ago
commit
a9f5b2c026
1 changed files with 67 additions and 0 deletions
  1. 67 0
      README.md

+ 67 - 0
README.md

@@ -0,0 +1,67 @@
+## 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
+```
+