CMake Overview
CMake Links to an external site.is an open-source, cross-platform family of tools designed to build, test and package software. CMake is used to control the software compilation process using simple platform and compiler independent configuration files, and generate native makefiles and workspaces that can be used in the compiler environment of your choice.
For better or worse, CMake is a very popular build system and most major libraries support CMake builds. CMake is "cross platform make." It is designed with portability in mind. CMake specifics dependencies in it's own configuration file, which is then used to create "native" makefile in the target environment. Here is the CMakeLists.txt for the example:
cmake_minimum_required(VERSION 2.8.9) project (hello) add_executable(hello helloworld.cpp)
The majority of these tutorials will focus on this build system.
Here are some helpful sources to help with pedantic CMake questions:
[1] CMake Documentation
Links to an external site.
[2] Quick CMake Tutorial
Links to an external site.