In this paper we present the need for build systems for generating independent software. The main focus of the paper is the CMake build system that is most appropriate for building and managing large scale projects in C/C++. The system allows the development of software independent from the platform. Its main advantages and capabilities are presented in this paper.