1
Building a ProjectBuilding a Project
2
Wait.....Wait.....
I've heard about compiling a I've heard about compiling a 
program, but what does building a program, but what does building a 
program mean?program mean?
3
    "Building" is a fairly general term, and it can "Building" is a fairly general term, and it can 
refer to anything that is needed to go from refer to anything that is needed to go from 
editable source material (source code, scripts, editable source material (source code, scripts, 
raw data files, etc.) to a shippable software raw data files, etc.) to a shippable software 
product. product. 
    Building can (and usually does) involve Building can (and usually does) involve 
several steps, such as pre­processing, several steps, such as pre­processing, 
compiling, linking, converting data files, compiling, linking, converting data files, 
running automated tests, packaging, etc.running automated tests, packaging, etc.
4
CMakeCMake
    CMake is a sophisticated, cross­platform, CMake is a sophisticated, cross­platform, 
open­source build system developed by open­source build system developed by 
Kitware in 2001. Kitware in 2001. 
    CMake is the name used to refer to the entire CMake is the name used to refer to the entire 
family of tools: family of tools: 
    CMake CMake 
    CtestCtest
    CdashCdash
    CPack CPack 

Cmake