To configure and check all the requisite dependencies for our project, we are going to use CMake, but it is not the only way that this can be done; we can configure our project in any other tool or IDE, such as Makefiles or Visual Studio, but CMake is a more portable way to configure multiplatform C++ projects.
CMake uses configuration files called CMakeLists.txt, where the compilation and dependencies process is defined. For a basic project based on an executable built from a single source code file, a CMakeLists.txt file comprising three lines is all that is required. The file looks as follows:
cmake_minimum_required (VERSION 3.0) project (CMakeTest) add_executable(${PROJECT_NAME} main.cpp)
The first line defines the minimum version of CMake required. This line is mandatory in our CMakeLists.txt file and allows us to use the functionality of CMake defined from a specific version; in our case, we require a minimum of CMake 3.0. The second line defines the project name. This name is saved in a variable called PROJECT_NAME.
The last line creates an executable command (add_executable()) from the main.cpp file, gives it the same name as our project (${PROJECT_NAME}), and compiles our source code into an executable called CMakeTest which is the name that we set up as a project name. The ${} expression allows access to any variable defined in our environment. Then, we can use the ${PROJECT_NAME} variable as an executable output name.