Przykładowy plik CMakeLists.txt przedstawiony jest poniżej:

cmake_minimum_required (VERSION 2.6) project(przyklad)

# Przykladowa opcja kompilacji option (USE_SOMETHING "Use some extra functionality" ON)

# Wyeksportuj ustawienia do pliku config.h # uzywajac config.h.in jako szablonu configure_file ( "${PROJECT_SOURCE_DIR}/config.h.in" "${PROJECT_BINARY_DIR}/config.h" )

# Ustaw katalog z plikami naglowkowymi i zbuduj projekt. include_directories("${PROJECT_BINARY_DIR}") add_executable(przyklad przyklad.c)

Duży nacisk kładziony jest na wsteczną kompatybilność tworzonych skryptów. Jeśli w nowej wersji CMake pojawia się zmiana, która zmienia zachowanie jednego z istniejących już elementów (np. w wyniku dodania nowej funkcjonalności lub naprawy znalezionego błędu), system umożliwia programiście wybór między użyciem starego i nowego zachowania.

Na podstawie plików CMakeLists.txt CMake jest w stanie wygenerować np. pliki Makefile, przy pomocy których można dokonać właściwej kompilacji programu zgodnie z wybranymi ustawieniami. Przykładowa sekwencja komend dla systemu GNU/Linux prowadząca do utworzenia skompilowanego programu to:

$ cmake ./ -DUSE_SOMETHING=ON $ make $ make install