https://m.runoob.com/cmake/cmake-advanced-features.html
https://cmake.org/cmake/help/latest/guide/tutorial/Before%20You%20Begin.html#getting-cmake