Disable CRT security warnings in MSVC (#15077)

MSVC by default warns if Annex-K style secure functions with additional parameter validation are not used. For better or worse, afaik other major compilers don't implement it, so it's not a very useful warning for a cross-platform project.
This commit is contained in:
red-001 2024-08-31 19:47:29 +01:00 committed by GitHub
parent 48e65ac846
commit 43363ee066
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 1 deletions

View File

@ -83,6 +83,10 @@ if(LINUX_PLATFORM)
add_definitions(-D_IRR_LINUX_PLATFORM_)
endif()
if(MSVC)
add_definitions(-D_CRT_SECURE_NO_WARNINGS)
endif()
if(USE_SDL2)
set(DEVICE "SDL")
elseif(DEVICE STREQUAL "SDL")

View File

@ -22,6 +22,10 @@ else()
set(DEFAULT_ANSI TRUE)
endif()
if(MSVC)
set(COMMON_CFLAGS "${COMMON_CFLAGS} -D_CRT_SECURE_NO_WARNINGS")
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(COMMON_LDFLAGS "${COMMON_LDFLAGS} -Wl,-E -lm")
set(DEFAULT_DLOPEN ON)

View File

@ -781,7 +781,7 @@ endif()
if(MSVC)
# Visual Studio
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D _WIN32_WINNT=0x0601 /D WIN32_LEAN_AND_MEAN")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /D _WIN32_WINNT=0x0601 /D WIN32_LEAN_AND_MEAN /D _CRT_SECURE_NO_WARNINGS")
# EHa enables SEH exceptions (used for catching segfaults)
set(CMAKE_CXX_FLAGS_RELEASE "/EHa /Ox /MD /GS- /Zi /fp:fast /D NDEBUG /D _HAS_ITERATOR_DEBUGGING=0")
if(CMAKE_SIZEOF_VOID_P EQUAL 4)