diff --git a/cmake/sdlcompilers.cmake b/cmake/sdlcompilers.cmake index 3ea5a97555..f9d5a9c313 100644 --- a/cmake/sdlcompilers.cmake +++ b/cmake/sdlcompilers.cmake @@ -155,6 +155,18 @@ function(SDL_AddCommonCompilerFlags TARGET) endif() endif() endif() + + if(NOT (APPLE OR MSVC)) + if(SDL_WERROR) + get_property(target_type TARGET ${TARGET} PROPERTY TYPE) + if(target_type MATCHES "SHARED_LIBRARY|MODULE_LIBRARY") + check_linker_flag(C "-Wl,-fatal-warnings" LINKER_SUPPORTS_WL_FATAL_WARNINGS) + if(LINKER_SUPPORTS_WL_FATAL_WARNINGS) + target_link_options(${TARGET} PRIVATE "-Wl,-fatal-warnings") + endif() + endif() + endif() + endif() endif() if(USE_CLANG)