# Compiler options with hardening flags function(add_warnings_optimizations target_name) if(MSVC) target_compile_options(${target_name} PRIVATE /W4 /permissive- $<$:/O2 /Ob2> $<$:/O1 /Ob1> $<$:/Zi /O2 /Ob1> $<$:/Zi /Ob0 /Od /RTC1> ) else() target_compile_options(${target_name} PRIVATE -Wall -Wextra -Wpedantic $<$:-O2> $<$:-O0 -g -p -pg> ) endif() endfunction()