Skip to content

Commit

Permalink
Check for warnings as error flag definition before using it
Browse files Browse the repository at this point in the history
  • Loading branch information
fjeremic committed Jun 16, 2021
1 parent b3689e9 commit 78fd83d
Show file tree
Hide file tree
Showing 2 changed files with 52 additions and 30 deletions.
80 changes: 52 additions & 28 deletions cmake/modules/OmrTargetSupport.cmake
Expand Up @@ -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
$<$<COMPILE_LANGUAGE:C>:${OMR_C_WARNINGS_AS_ERROR_FLAG}>
$<$<COMPILE_LANGUAGE:CXX>:${OMR_CXX_WARNINGS_AS_ERROR_FLAG}>
$<$<COMPILE_LANGUAGE:MASM>:${OMR_MASM_WARNINGS_AS_ERROR_FLAG}>
$<$<COMPILE_LANGUAGE:NASM>:${OMR_NASM_WARNINGS_AS_ERROR_FLAG}>
)
target_compile_options(${name} PRIVATE
$<$<COMPILE_LANGUAGE:C>:${OMR_C_WARNINGS_AS_ERROR_FLAG}>
$<$<COMPILE_LANGUAGE:CXX>:${OMR_CXX_WARNINGS_AS_ERROR_FLAG}>)

if(DEFINED CMAKE_ASM_MASM AND DEFINED OMR_MASM_WARNINGS_AS_ERROR_FLAG)
target_compile_options(${name} PRIVATE
$<$<COMPILE_LANGUAGE:MASM>:${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
$<$<COMPILE_LANGUAGE:NASM>:${OMR_NASM_WARNINGS_AS_ERROR_FLAG}>)
endif()
endif()

if(OMR_ENHANCED_WARNINGS)
target_compile_options(${name}
PRIVATE
$<$<COMPILE_LANGUAGE:C>:${OMR_C_ENHANCED_WARNINGS_FLAG}>
$<$<COMPILE_LANGUAGE:CXX>:${OMR_CXX_ENHANCED_WARNINGS_FLAG}>
$<$<COMPILE_LANGUAGE:MASM>:${OMR_MASM_ENHANCED_WARNINGS_FLAG}>
$<$<COMPILE_LANGUAGE:NASM>:${OMR_NASM_ENHANCED_WARNINGS_FLAG}>
)
target_compile_options(${name} PRIVATE
$<$<COMPILE_LANGUAGE:C>:${OMR_C_ENHANCED_WARNINGS_FLAG}>
$<$<COMPILE_LANGUAGE:CXX>:${OMR_CXX_ENHANCED_WARNINGS_FLAG}>)

if(DEFINED CMAKE_ASM_MASM AND DEFINED OMR_MASM_ENHANCED_WARNINGS_FLAG)
target_compile_options(${name} PRIVATE
$<$<COMPILE_LANGUAGE:MASM>:${OMR_MASM_ENHANCED_WARNINGS_FLAG}>)
endif()

if(DEFINED CMAKE_ASM_NASM AND DEFINED OMR_NASM_ENHANCED_WARNINGS_FLAG)
target_compile_options(${name} PRIVATE
$<$<COMPILE_LANGUAGE:NASM>:${OMR_NASM_ENHANCED_WARNINGS_FLAG}>)
endif()
endif()
endif()

Expand Down Expand Up @@ -119,23 +131,35 @@ function(omr_add_executable name)

if(NOT opt_NOWARNINGS)
if(OMR_WARNINGS_AS_ERRORS)
target_compile_options(${name}
PRIVATE
$<$<COMPILE_LANGUAGE:C>:${OMR_C_WARNINGS_AS_ERROR_FLAG}>
$<$<COMPILE_LANGUAGE:CXX>:${OMR_CXX_WARNINGS_AS_ERROR_FLAG}>
$<$<COMPILE_LANGUAGE:MASM>:${OMR_MASM_WARNINGS_AS_ERROR_FLAG}>
$<$<COMPILE_LANGUAGE:NASM>:${OMR_NASM_WARNINGS_AS_ERROR_FLAG}>
)
target_compile_options(${name} PRIVATE
$<$<COMPILE_LANGUAGE:C>:${OMR_C_WARNINGS_AS_ERROR_FLAG}>
$<$<COMPILE_LANGUAGE:CXX>:${OMR_CXX_WARNINGS_AS_ERROR_FLAG}>)

if(DEFINED CMAKE_ASM_MASM AND DEFINED OMR_MASM_WARNINGS_AS_ERROR_FLAG)
target_compile_options(${name} PRIVATE
$<$<COMPILE_LANGUAGE:MASM>:${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
$<$<COMPILE_LANGUAGE:NASM>:${OMR_NASM_WARNINGS_AS_ERROR_FLAG}>)
endif()
endif()

if(OMR_ENHANCED_WARNINGS)
target_compile_options(${name}
PRIVATE
$<$<COMPILE_LANGUAGE:C>:${OMR_C_ENHANCED_WARNINGS_FLAG}>
$<$<COMPILE_LANGUAGE:CXX>:${OMR_CXX_ENHANCED_WARNINGS_FLAG}>
$<$<COMPILE_LANGUAGE:MASM>:${OMR_MASM_ENHANCED_WARNINGS_FLAG}>
$<$<COMPILE_LANGUAGE:NASM>:${OMR_NASM_ENHANCED_WARNINGS_FLAG}>
)
target_compile_options(${name} PRIVATE
$<$<COMPILE_LANGUAGE:C>:${OMR_C_ENHANCED_WARNINGS_FLAG}>
$<$<COMPILE_LANGUAGE:CXX>:${OMR_CXX_ENHANCED_WARNINGS_FLAG}>)

if(DEFINED CMAKE_ASM_MASM AND DEFINED OMR_MASM_ENHANCED_WARNINGS_FLAG)
target_compile_options(${name} PRIVATE
$<$<COMPILE_LANGUAGE:MASM>:${OMR_MASM_ENHANCED_WARNINGS_FLAG}>)
endif()

if(DEFINED CMAKE_ASM_NASM AND DEFINED OMR_NASM_ENHANCED_WARNINGS_FLAG)
target_compile_options(${name} PRIVATE
$<$<COMPILE_LANGUAGE:NASM>:${OMR_NASM_ENHANCED_WARNINGS_FLAG}>)
endif()
endif()
endif()

Expand Down
2 changes: 0 additions & 2 deletions cmake/modules/platform/toolcfg/gnu.cmake
Expand Up @@ -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
Expand Down

0 comments on commit 78fd83d

Please sign in to comment.