CMake типы сборки: Debug, Release, RelWithDebInfo
Изначально у вас код компилируется в ассемблер (команды понятные для процессора) почти напрямую.
1) Это Debug сборка - код компилируется без оптимизаций.
2) Есть Release сборка - тогда код будет работать быстрее т.к. компилятор пытается делать разные хитрые оптимизации. Недостаток в том что при запуске под отладкой не получится узнать даже в какой строке программа упала, т.к. из ассемблерных инструкций которые написал компилятор - не понять какая строка кода их породила (т.е. где произошла проблема).
3) Поэтому советую в дополнение к Debug использовать RelWithDebInfo (а не Release) - это Release with Debug Information - в т.ч. с информацией о том из какой строки исходника появилась каждая ассемблерная инструкция.
Чтобы добавить этот вид сборки:

И теперь легко менять какой вариант сборки хочется запускать (Debug для отладки, RelWithDebInfo если важна скорость):

