Skip to content

Commit

Permalink
Do not accept linker flag as supported if it generates a warning
Browse files Browse the repository at this point in the history
  • Loading branch information
Jamie Snape committed Jan 13, 2020
1 parent daaa3aa commit 1b1a12b
Show file tree
Hide file tree
Showing 8 changed files with 168 additions and 0 deletions.
21 changes: 21 additions & 0 deletions bot2-core/cmake/modules/CheckLinkerFlag.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,27 @@ include(CheckCSourceCompiles)
include(CMakeCheckCompilerFlagCommonPatterns)

function(check_linker_flag FLAG VAR)
_check_linker_flag(-Wl,--fatal-warnings LINKER_SUPPORTS__FATAL_WARNINGS)
_check_linker_flag(-Wl,-fatal_warnings LINKER_SUPPORTS_FATAL_WARNINGS)

if(LINKER_SUPPORTS__FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,--fatal-warnings)
elseif(LINKER_SUPPORTS_FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,-fatal_warnings)
else()
set(FATAL_WARNINGS_FLAG)
endif()

_check_linker_flag("${FLAG}" ${VAR} "${FATAL_WARNINGS_FLAG}")

set(${VAR} "${${VAR}}" PARENT_SCOPE)
endfunction()

function(_check_linker_flag FLAG VAR)
if(ARGC GREATER 2)
list(INSERT FLAG 0 "${ARGV2}")
endif()

if(CMAKE_VERSION VERSION_LESS 3.14)
set(CMAKE_REQUIRED_LIBRARIES "${FLAG}")
else()
Expand Down
21 changes: 21 additions & 0 deletions bot2-frames/cmake/modules/CheckLinkerFlag.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,27 @@ include(CheckCSourceCompiles)
include(CMakeCheckCompilerFlagCommonPatterns)

function(check_linker_flag FLAG VAR)
_check_linker_flag(-Wl,--fatal-warnings LINKER_SUPPORTS__FATAL_WARNINGS)
_check_linker_flag(-Wl,-fatal_warnings LINKER_SUPPORTS_FATAL_WARNINGS)

if(LINKER_SUPPORTS__FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,--fatal-warnings)
elseif(LINKER_SUPPORTS_FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,-fatal_warnings)
else()
set(FATAL_WARNINGS_FLAG)
endif()

_check_linker_flag("${FLAG}" ${VAR} "${FATAL_WARNINGS_FLAG}")

set(${VAR} "${${VAR}}" PARENT_SCOPE)
endfunction()

function(_check_linker_flag FLAG VAR)
if(ARGC GREATER 2)
list(INSERT FLAG 0 "${ARGV2}")
endif()

if(CMAKE_VERSION VERSION_LESS 3.14)
set(CMAKE_REQUIRED_LIBRARIES "${FLAG}")
else()
Expand Down
21 changes: 21 additions & 0 deletions bot2-lcm-utils/cmake/modules/CheckLinkerFlag.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,27 @@ include(CheckCSourceCompiles)
include(CMakeCheckCompilerFlagCommonPatterns)

function(check_linker_flag FLAG VAR)
_check_linker_flag(-Wl,--fatal-warnings LINKER_SUPPORTS__FATAL_WARNINGS)
_check_linker_flag(-Wl,-fatal_warnings LINKER_SUPPORTS_FATAL_WARNINGS)

if(LINKER_SUPPORTS__FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,--fatal-warnings)
elseif(LINKER_SUPPORTS_FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,-fatal_warnings)
else()
set(FATAL_WARNINGS_FLAG)
endif()

_check_linker_flag("${FLAG}" ${VAR} "${FATAL_WARNINGS_FLAG}")

set(${VAR} "${${VAR}}" PARENT_SCOPE)
endfunction()

function(_check_linker_flag FLAG VAR)
if(ARGC GREATER 2)
list(INSERT FLAG 0 "${ARGV2}")
endif()

if(CMAKE_VERSION VERSION_LESS 3.14)
set(CMAKE_REQUIRED_LIBRARIES "${FLAG}")
else()
Expand Down
21 changes: 21 additions & 0 deletions bot2-lcmgl/cmake/modules/CheckLinkerFlag.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,27 @@ include(CheckCSourceCompiles)
include(CMakeCheckCompilerFlagCommonPatterns)

function(check_linker_flag FLAG VAR)
_check_linker_flag(-Wl,--fatal-warnings LINKER_SUPPORTS__FATAL_WARNINGS)
_check_linker_flag(-Wl,-fatal_warnings LINKER_SUPPORTS_FATAL_WARNINGS)

if(LINKER_SUPPORTS__FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,--fatal-warnings)
elseif(LINKER_SUPPORTS_FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,-fatal_warnings)
else()
set(FATAL_WARNINGS_FLAG)
endif()

_check_linker_flag("${FLAG}" ${VAR} "${FATAL_WARNINGS_FLAG}")

set(${VAR} "${${VAR}}" PARENT_SCOPE)
endfunction()

function(_check_linker_flag FLAG VAR)
if(ARGC GREATER 2)
list(INSERT FLAG 0 "${ARGV2}")
endif()

if(CMAKE_VERSION VERSION_LESS 3.14)
set(CMAKE_REQUIRED_LIBRARIES "${FLAG}")
else()
Expand Down
21 changes: 21 additions & 0 deletions bot2-param/cmake/modules/CheckLinkerFlag.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,27 @@ include(CheckCSourceCompiles)
include(CMakeCheckCompilerFlagCommonPatterns)

function(check_linker_flag FLAG VAR)
_check_linker_flag(-Wl,--fatal-warnings LINKER_SUPPORTS__FATAL_WARNINGS)
_check_linker_flag(-Wl,-fatal_warnings LINKER_SUPPORTS_FATAL_WARNINGS)

if(LINKER_SUPPORTS__FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,--fatal-warnings)
elseif(LINKER_SUPPORTS_FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,-fatal_warnings)
else()
set(FATAL_WARNINGS_FLAG)
endif()

_check_linker_flag("${FLAG}" ${VAR} "${FATAL_WARNINGS_FLAG}")

set(${VAR} "${${VAR}}" PARENT_SCOPE)
endfunction()

function(_check_linker_flag FLAG VAR)
if(ARGC GREATER 2)
list(INSERT FLAG 0 "${ARGV2}")
endif()

if(CMAKE_VERSION VERSION_LESS 3.14)
set(CMAKE_REQUIRED_LIBRARIES "${FLAG}")
else()
Expand Down
21 changes: 21 additions & 0 deletions bot2-procman/cmake/modules/CheckLinkerFlag.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,27 @@ include(CheckCSourceCompiles)
include(CMakeCheckCompilerFlagCommonPatterns)

function(check_linker_flag FLAG VAR)
_check_linker_flag(-Wl,--fatal-warnings LINKER_SUPPORTS__FATAL_WARNINGS)
_check_linker_flag(-Wl,-fatal_warnings LINKER_SUPPORTS_FATAL_WARNINGS)

if(LINKER_SUPPORTS__FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,--fatal-warnings)
elseif(LINKER_SUPPORTS_FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,-fatal_warnings)
else()
set(FATAL_WARNINGS_FLAG)
endif()

_check_linker_flag("${FLAG}" ${VAR} "${FATAL_WARNINGS_FLAG}")

set(${VAR} "${${VAR}}" PARENT_SCOPE)
endfunction()

function(_check_linker_flag FLAG VAR)
if(ARGC GREATER 2)
list(INSERT FLAG 0 "${ARGV2}")
endif()

if(CMAKE_VERSION VERSION_LESS 3.14)
set(CMAKE_REQUIRED_LIBRARIES "${FLAG}")
else()
Expand Down
21 changes: 21 additions & 0 deletions bot2-vis/cmake/modules/CheckLinkerFlag.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,27 @@ include(CheckCSourceCompiles)
include(CMakeCheckCompilerFlagCommonPatterns)

function(check_linker_flag FLAG VAR)
_check_linker_flag(-Wl,--fatal-warnings LINKER_SUPPORTS__FATAL_WARNINGS)
_check_linker_flag(-Wl,-fatal_warnings LINKER_SUPPORTS_FATAL_WARNINGS)

if(LINKER_SUPPORTS__FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,--fatal-warnings)
elseif(LINKER_SUPPORTS_FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,-fatal_warnings)
else()
set(FATAL_WARNINGS_FLAG)
endif()

_check_linker_flag("${FLAG}" ${VAR} "${FATAL_WARNINGS_FLAG}")

set(${VAR} "${${VAR}}" PARENT_SCOPE)
endfunction()

function(_check_linker_flag FLAG VAR)
if(ARGC GREATER 2)
list(INSERT FLAG 0 "${ARGV2}")
endif()

if(CMAKE_VERSION VERSION_LESS 3.14)
set(CMAKE_REQUIRED_LIBRARIES "${FLAG}")
else()
Expand Down
21 changes: 21 additions & 0 deletions cmake/modules/CheckLinkerFlag.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,27 @@ include(CheckCSourceCompiles)
include(CMakeCheckCompilerFlagCommonPatterns)

function(check_linker_flag FLAG VAR)
_check_linker_flag(-Wl,--fatal-warnings LINKER_SUPPORTS__FATAL_WARNINGS)
_check_linker_flag(-Wl,-fatal_warnings LINKER_SUPPORTS_FATAL_WARNINGS)

if(LINKER_SUPPORTS__FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,--fatal-warnings)
elseif(LINKER_SUPPORTS_FATAL_WARNINGS)
set(FATAL_WARNINGS_FLAG -Wl,-fatal_warnings)
else()
set(FATAL_WARNINGS_FLAG)
endif()

_check_linker_flag("${FLAG}" ${VAR} "${FATAL_WARNINGS_FLAG}")

set(${VAR} "${${VAR}}" PARENT_SCOPE)
endfunction()

function(_check_linker_flag FLAG VAR)
if(ARGC GREATER 2)
list(INSERT FLAG 0 "${ARGV2}")
endif()

if(CMAKE_VERSION VERSION_LESS 3.14)
set(CMAKE_REQUIRED_LIBRARIES "${FLAG}")
else()
Expand Down

0 comments on commit 1b1a12b

Please sign in to comment.