CMake is a free, cross-platform, software development tool for building applications via compiler -independent instructions. It also can automate testing, packaging and installation. It runs on a variety of platforms and supports many programming languages. [3]