diff --git a/CMakeLists.txt b/CMakeLists.txt index aa36eb02c..276c31e50 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -688,6 +688,11 @@ if(MSVC) target_compile_definitions(sdl-build-options INTERFACE "-D_CRT_SECURE_NO_DEPRECATE") target_compile_definitions(sdl-build-options INTERFACE "-D_CRT_NONSTDC_NO_DEPRECATE") target_compile_definitions(sdl-build-options INTERFACE "-D_CRT_SECURE_NO_WARNINGS") + + # CET support was added in VS 16.7 + if(MSVC_VERSION GREATER 1926 AND NOT CMAKE_GENERATOR_PLATFORM MATCHES ARM) + list(APPEND EXTRA_LDFLAGS_BUILD "-CETCOMPAT") + endif() endif() if(MSVC) diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index 9639b6048..8b2738a7d 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -47,6 +47,11 @@ if(WINDOWS) link_libraries(mingw32) endif() + # CET support was added in VS 16.7 + if(MSVC_VERSION GREATER 1926 AND NOT CMAKE_GENERATOR_PLATFORM MATCHES ARM) + link_libraries(-CETCOMPAT) + endif() + # FIXME: Parent directory CMakeLists.txt only sets these for mingw/cygwin, # but we need them for VS as well. link_libraries(SDL2main)