1
0
mirror of https://github.com/facebook/zstd.git synced 2025-07-29 11:21:22 +03:00

CMake: don't recheck compile flags every time

Doesn't cause a problem when embedded within a larger project, but is
annoying.
This commit is contained in:
Michael Maltese
2017-04-20 15:54:17 -07:00
parent 554a13dd4b
commit 377401f161

View File

@ -2,20 +2,21 @@ include(CheckCXXCompilerFlag)
include(CheckCCompilerFlag) include(CheckCCompilerFlag)
function(EnableCompilerFlag _flag _C _CXX) function(EnableCompilerFlag _flag _C _CXX)
message("Checking flag ${_flag}") string(REGEX REPLACE "\\+" "PLUS" varname "${_flag}")
string(REGEX REPLACE "[^A-Za-z0-9]+" "_" varname "${varname}")
string(REGEX REPLACE "^_+" "" varname "${varname}")
string(TOUPPER "${varname}" varname)
if (_C) if (_C)
CHECK_C_COMPILER_FLAG(${_flag} C_FLAG) CHECK_C_COMPILER_FLAG(${_flag} C_FLAG_${varname})
if (C_FLAG) if (C_FLAG_${varname})
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_flag}" CACHE INTERNAL "C Flags") set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_flag}" CACHE INTERNAL "C Flags")
endif () endif ()
unset(C_FLAG CACHE)
endif () endif ()
if (_CXX) if (_CXX)
CHECK_CXX_COMPILER_FLAG(${_flag} CXX_FLAG) CHECK_CXX_COMPILER_FLAG(${_flag} CXX_FLAG_${varname})
if (CXX_FLAG) if (CXX_FLAG_${varname})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_flag}" CACHE INTERNAL "CXX Flags") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_flag}" CACHE INTERNAL "CXX Flags")
endif () endif ()
unset(CXX_FLAG CACHE)
endif () endif ()
endfunction() endfunction()