Создаёте CMakeLists.txt
Пишете в нём наверху:
PROJECT ( esl1demo C )
Потом добавляете цель -
add_executable (esl1_demo util/esl1_demo.c)
И дальше последовательно, опцию за опцией, переносите их внутрь
target_include_directories (esl1_demo PRIVATE ./Include)
target_link_directories(esl1_demo PRIVATE ./lib)
target_link_libraries(esl1_demo PRIVATE esl1image)
...
И далее по списку.
Опции компилятора - через target_compile_options, опции либы - через target_link_libraries и т.д.
Прямо ВСЕ прописывать, скорее всего, не нужно (например, -O2 -g - это часть стандартных флагов конфига RelWithDebInfo).
Проверяется попыткой сбилдить с флагом verbose. Там будет видно, какие именно опции передались компилятору; и будет ясно, какие надо добавить в проект.