CMake: support multiple args to remove_cc_flag
This commit is contained in:
@@ -918,19 +918,22 @@ endmacro()
|
|||||||
|
|
||||||
# utility macro
|
# utility macro
|
||||||
macro(remove_cc_flag
|
macro(remove_cc_flag
|
||||||
flag)
|
_flag)
|
||||||
|
|
||||||
string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
foreach(flag ${ARGV})
|
||||||
string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
|
string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
|
||||||
string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
|
||||||
string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
|
string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
|
||||||
string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
|
||||||
|
string(REGEX REPLACE ${flag} "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
|
||||||
|
|
||||||
string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
|
||||||
string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|
string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
|
||||||
string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
|
||||||
string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")
|
string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")
|
||||||
string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
string(REGEX REPLACE ${flag} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
|
||||||
|
endforeach()
|
||||||
|
unset(flag)
|
||||||
|
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
@@ -944,28 +947,32 @@ endmacro()
|
|||||||
macro(remove_strict_flags)
|
macro(remove_strict_flags)
|
||||||
|
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
remove_cc_flag("-Wstrict-prototypes")
|
remove_cc_flag(
|
||||||
remove_cc_flag("-Wmissing-prototypes")
|
"-Wstrict-prototypes"
|
||||||
remove_cc_flag("-Wunused-parameter")
|
"-Wmissing-prototypes"
|
||||||
remove_cc_flag("-Wunused-macros")
|
"-Wunused-parameter"
|
||||||
remove_cc_flag("-Wwrite-strings")
|
"-Wunused-macros"
|
||||||
remove_cc_flag("-Wredundant-decls")
|
"-Wwrite-strings"
|
||||||
remove_cc_flag("-Wundef")
|
"-Wredundant-decls"
|
||||||
remove_cc_flag("-Wshadow")
|
"-Wundef"
|
||||||
remove_cc_flag("-Wdouble-promotion")
|
"-Wshadow"
|
||||||
remove_cc_flag("-Wold-style-definition")
|
"-Wdouble-promotion"
|
||||||
remove_cc_flag("-Werror=[^ ]+")
|
"-Wold-style-definition"
|
||||||
remove_cc_flag("-Werror")
|
"-Werror=[^ ]+"
|
||||||
|
"-Werror"
|
||||||
|
)
|
||||||
|
|
||||||
# negate flags implied by '-Wall'
|
# negate flags implied by '-Wall'
|
||||||
add_cc_flag("${CC_REMOVE_STRICT_FLAGS}")
|
add_cc_flag("${CC_REMOVE_STRICT_FLAGS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
remove_cc_flag("-Wunused-parameter")
|
remove_cc_flag(
|
||||||
remove_cc_flag("-Wunused-variable")
|
"-Wunused-parameter"
|
||||||
remove_cc_flag("-Werror=[^ ]+")
|
"-Wunused-variable"
|
||||||
remove_cc_flag("-Werror")
|
"-Werror=[^ ]+"
|
||||||
|
"-Werror"
|
||||||
|
)
|
||||||
|
|
||||||
# negate flags implied by '-Wall'
|
# negate flags implied by '-Wall'
|
||||||
add_cc_flag("${CC_REMOVE_STRICT_FLAGS}")
|
add_cc_flag("${CC_REMOVE_STRICT_FLAGS}")
|
||||||
@@ -979,11 +986,15 @@ endmacro()
|
|||||||
|
|
||||||
macro(remove_extra_strict_flags)
|
macro(remove_extra_strict_flags)
|
||||||
if(CMAKE_COMPILER_IS_GNUCC)
|
if(CMAKE_COMPILER_IS_GNUCC)
|
||||||
remove_cc_flag("-Wunused-parameter")
|
remove_cc_flag(
|
||||||
|
"-Wunused-parameter"
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
if(CMAKE_C_COMPILER_ID MATCHES "Clang")
|
||||||
remove_cc_flag("-Wunused-parameter")
|
remove_cc_flag(
|
||||||
|
"-Wunused-parameter"
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
|
Reference in New Issue
Block a user