26 lines
1.0 KiB
CMake
26 lines
1.0 KiB
CMake
|
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
|
||
|
)
|