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