Files
Tahgibu/cmake/CompilerOptions.cmake
2026-10-24 12:01:52 -03:00

17 lines
692 B
CMake

# Opciones del compilador comunes a todos los destinos.
function(tahgibu_apply_warnings target)
if(MSVC)
target_compile_options(${target} PRIVATE /W4 /utf-8)
target_compile_definitions(${target} PRIVATE _CRT_SECURE_NO_WARNINGS)
else()
target_compile_options(${target} PRIVATE -Wall -Wextra -Wshadow -Wpedantic)
if(TAHGIBU_WARNINGS_AS_ERRORS)
target_compile_options(${target} PRIVATE -Werror)
endif()
if(TAHGIBU_SANITIZE)
target_compile_options(${target} PRIVATE -fsanitize=address,undefined -fno-omit-frame-pointer -fno-sanitize-recover=all)
target_link_options(${target} PRIVATE -fsanitize=address,undefined)
endif()
endif()
endfunction()