cmake_minimum_required(VERSION 3.31) project(atm_admin_program) set(CMAKE_CXX_STANDARD 20) add_executable(atm_admin_program src/main.cpp) target_compile_options(${PROJECT_NAME} PRIVATE # Make all warnings into errors -Werror # Basic warning flags -Wall # Enable all common warnings -Wextra # Enable extra warnings not covered by -Wall -Wpedantic # Issue warnings demanded by strict ISO C and ISO C++ -pedantic-errors # Like -Wpedantic but errors instead of warnings # Specific warning categories -Wshadow # Warn when a variable declaration shadows another -Wcast-align # Warn for potential performance problems from memory alignment -Wconversion # Warn on type conversions that may lose data -Wsign-conversion # Warn on sign conversions -Wnull-dereference # Warn about null pointer dereference )