Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
Yuhang Zhao 2023-02-15 15:48:40 +08:00
parent cf3df61d21
commit bf513b94a0
1 changed files with 23 additions and 14 deletions

View File

@ -120,8 +120,10 @@ function(setup_project)
set(CMAKE_C_EXTENSIONS OFF PARENT_SCOPE)
set(CMAKE_C_VISIBILITY_PRESET "hidden" PARENT_SCOPE)
if(MSVC)
if(NOT ("x${CMAKE_C_FLAGS}" STREQUAL "x"))
string(REGEX REPLACE "[-|/]w " " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
string(REGEX REPLACE "[-|/]W[0|1|2|3|4|all|X] " " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
endif()
if(PROJ_ARGS_NO_WARNING)
string(APPEND CMAKE_C_FLAGS " /w ")
elseif(PROJ_ARGS_MAX_WARNING)
@ -134,13 +136,17 @@ function(setup_project)
endif()
set(CMAKE_C_FLAGS ${CMAKE_C_FLAGS} PARENT_SCOPE)
if(MSVC_VERSION GREATER_EQUAL 1920) # Visual Studio 2019 version 16.0
if(NOT ("x${CMAKE_C_FLAGS_RELEASE}" STREQUAL "x"))
string(REGEX REPLACE "[-|/]Ob[0|1|2|3] " " " CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
endif()
string(APPEND CMAKE_C_FLAGS_RELEASE " /Ob3 ")
set(CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE} PARENT_SCOPE)
endif()
else()
if(NOT ("x${CMAKE_C_FLAGS}" STREQUAL "x"))
string(REPLACE "-w " " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
string(REGEX REPLACE "-W[all|extra|error|pedantic] " " " CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
endif()
if(PROJ_ARGS_NO_WARNING)
string(APPEND CMAKE_C_FLAGS " -w ")
elseif(PROJ_ARGS_MAX_WARNING)
@ -162,10 +168,12 @@ function(setup_project)
set(CMAKE_CXX_EXTENSIONS OFF PARENT_SCOPE)
set(CMAKE_CXX_VISIBILITY_PRESET "hidden" PARENT_SCOPE)
if(MSVC)
if(NOT ("x${CMAKE_CXX_FLAGS}" STREQUAL "x"))
string(REGEX REPLACE "[-|/]GR-? " " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REGEX REPLACE "[-|/]EH(a-?|r-?|s-?|c-?)+ " " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REGEX REPLACE "[-|/]w " " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REGEX REPLACE "[-|/]W[0|1|2|3|4|all|X] " " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
endif()
if(PROJ_ARGS_NO_WARNING)
string(APPEND CMAKE_CXX_FLAGS " /w ")
elseif(PROJ_ARGS_MAX_WARNING)
@ -188,16 +196,17 @@ function(setup_project)
endif()
set(CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} PARENT_SCOPE)
if(MSVC_VERSION GREATER_EQUAL 1920) # Visual Studio 2019 version 16.0
if(NOT ("x${CMAKE_CXX_FLAGS_RELEASE}" STREQUAL "x"))
string(REGEX REPLACE "[-|/]Ob[0|1|2|3] " " " CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
endif()
string(APPEND CMAKE_CXX_FLAGS_RELEASE " /Ob3 ")
set(CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE} PARENT_SCOPE)
endif()
else()
if("x${CMAKE_CXX_FLAGS}" STREQUAL "x")
message(FATAL_ERROR "CMAKE_CXX_FLAGS is empty!!!!!!!!!!")
endif()
if(NOT ("x${CMAKE_CXX_FLAGS}" STREQUAL "x"))
string(REPLACE "-w " " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
string(REGEX REPLACE "-W[all|extra|error|pedantic] " " " CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
endif()
if(PROJ_ARGS_NO_WARNING)
string(APPEND CMAKE_CXX_FLAGS " -w ")
elseif(PROJ_ARGS_MAX_WARNING)