From 78fd83d7c8be0c455ef25a2693c28897869307af Mon Sep 17 00:00:00 2001 From: Filip Jeremic Date: Tue, 15 Jun 2021 18:19:57 -0400 Subject: [PATCH] Check for warnings as error flag definition before using it --- cmake/modules/OmrTargetSupport.cmake | 80 +++++++++++++++--------- cmake/modules/platform/toolcfg/gnu.cmake | 2 - 2 files changed, 52 insertions(+), 30 deletions(-) diff --git a/cmake/modules/OmrTargetSupport.cmake b/cmake/modules/OmrTargetSupport.cmake index 8286c61dc9e..ac6a26d7f51 100644 --- a/cmake/modules/OmrTargetSupport.cmake +++ b/cmake/modules/OmrTargetSupport.cmake @@ -75,23 +75,35 @@ function(omr_add_library name) if(NOT opt_NOWARNINGS AND NOT lib_type STREQUAL "INTERFACE") if(OMR_WARNINGS_AS_ERRORS) - target_compile_options(${name} - PRIVATE - $<$:${OMR_C_WARNINGS_AS_ERROR_FLAG}> - $<$:${OMR_CXX_WARNINGS_AS_ERROR_FLAG}> - $<$:${OMR_MASM_WARNINGS_AS_ERROR_FLAG}> - $<$:${OMR_NASM_WARNINGS_AS_ERROR_FLAG}> - ) + target_compile_options(${name} PRIVATE + $<$:${OMR_C_WARNINGS_AS_ERROR_FLAG}> + $<$:${OMR_CXX_WARNINGS_AS_ERROR_FLAG}>) + + if(DEFINED CMAKE_ASM_MASM AND DEFINED OMR_MASM_WARNINGS_AS_ERROR_FLAG) + target_compile_options(${name} PRIVATE + $<$:${OMR_MASM_WARNINGS_AS_ERROR_FLAG}>) + endif() + + if(DEFINED CMAKE_ASM_NASM AND DEFINED OMR_NASM_WARNINGS_AS_ERROR_FLAG) + target_compile_options(${name} PRIVATE + $<$:${OMR_NASM_WARNINGS_AS_ERROR_FLAG}>) + endif() endif() if(OMR_ENHANCED_WARNINGS) - target_compile_options(${name} - PRIVATE - $<$:${OMR_C_ENHANCED_WARNINGS_FLAG}> - $<$:${OMR_CXX_ENHANCED_WARNINGS_FLAG}> - $<$:${OMR_MASM_ENHANCED_WARNINGS_FLAG}> - $<$:${OMR_NASM_ENHANCED_WARNINGS_FLAG}> - ) + target_compile_options(${name} PRIVATE + $<$:${OMR_C_ENHANCED_WARNINGS_FLAG}> + $<$:${OMR_CXX_ENHANCED_WARNINGS_FLAG}>) + + if(DEFINED CMAKE_ASM_MASM AND DEFINED OMR_MASM_ENHANCED_WARNINGS_FLAG) + target_compile_options(${name} PRIVATE + $<$:${OMR_MASM_ENHANCED_WARNINGS_FLAG}>) + endif() + + if(DEFINED CMAKE_ASM_NASM AND DEFINED OMR_NASM_ENHANCED_WARNINGS_FLAG) + target_compile_options(${name} PRIVATE + $<$:${OMR_NASM_ENHANCED_WARNINGS_FLAG}>) + endif() endif() endif() @@ -119,23 +131,35 @@ function(omr_add_executable name) if(NOT opt_NOWARNINGS) if(OMR_WARNINGS_AS_ERRORS) - target_compile_options(${name} - PRIVATE - $<$:${OMR_C_WARNINGS_AS_ERROR_FLAG}> - $<$:${OMR_CXX_WARNINGS_AS_ERROR_FLAG}> - $<$:${OMR_MASM_WARNINGS_AS_ERROR_FLAG}> - $<$:${OMR_NASM_WARNINGS_AS_ERROR_FLAG}> - ) + target_compile_options(${name} PRIVATE + $<$:${OMR_C_WARNINGS_AS_ERROR_FLAG}> + $<$:${OMR_CXX_WARNINGS_AS_ERROR_FLAG}>) + + if(DEFINED CMAKE_ASM_MASM AND DEFINED OMR_MASM_WARNINGS_AS_ERROR_FLAG) + target_compile_options(${name} PRIVATE + $<$:${OMR_MASM_WARNINGS_AS_ERROR_FLAG}>) + endif() + + if(DEFINED CMAKE_ASM_NASM AND DEFINED OMR_NASM_WARNINGS_AS_ERROR_FLAG) + target_compile_options(${name} PRIVATE + $<$:${OMR_NASM_WARNINGS_AS_ERROR_FLAG}>) + endif() endif() if(OMR_ENHANCED_WARNINGS) - target_compile_options(${name} - PRIVATE - $<$:${OMR_C_ENHANCED_WARNINGS_FLAG}> - $<$:${OMR_CXX_ENHANCED_WARNINGS_FLAG}> - $<$:${OMR_MASM_ENHANCED_WARNINGS_FLAG}> - $<$:${OMR_NASM_ENHANCED_WARNINGS_FLAG}> - ) + target_compile_options(${name} PRIVATE + $<$:${OMR_C_ENHANCED_WARNINGS_FLAG}> + $<$:${OMR_CXX_ENHANCED_WARNINGS_FLAG}>) + + if(DEFINED CMAKE_ASM_MASM AND DEFINED OMR_MASM_ENHANCED_WARNINGS_FLAG) + target_compile_options(${name} PRIVATE + $<$:${OMR_MASM_ENHANCED_WARNINGS_FLAG}>) + endif() + + if(DEFINED CMAKE_ASM_NASM AND DEFINED OMR_NASM_ENHANCED_WARNINGS_FLAG) + target_compile_options(${name} PRIVATE + $<$:${OMR_NASM_ENHANCED_WARNINGS_FLAG}>) + endif() endif() endif() diff --git a/cmake/modules/platform/toolcfg/gnu.cmake b/cmake/modules/platform/toolcfg/gnu.cmake index 70bb7886ba2..bea58e17dd6 100644 --- a/cmake/modules/platform/toolcfg/gnu.cmake +++ b/cmake/modules/platform/toolcfg/gnu.cmake @@ -21,12 +21,10 @@ set(OMR_C_WARNINGS_AS_ERROR_FLAG -Werror) set(OMR_CXX_WARNINGS_AS_ERROR_FLAG -Werror) -set(OMR_MASM_WARNINGS_AS_ERROR_FLAG -Werror) set(OMR_NASM_WARNINGS_AS_ERROR_FLAG -Werror) set(OMR_C_ENHANCED_WARNINGS_FLAG -Wall) set(OMR_CXX_ENHANCED_WARNINGS_FLAG -Wall) -set(OMR_MASM_ENHANCED_WARNINGS_FLAG -Wall) set(OMR_NASM_ENHANCED_WARNINGS_FLAG -Wall) # disable builtin strncpy buffer length check for components that use variable length