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:
@ -2,20 +2,21 @@ include(CheckCXXCompilerFlag)
|
||||
include(CheckCCompilerFlag)
|
||||
|
||||
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)
|
||||
CHECK_C_COMPILER_FLAG(${_flag} C_FLAG)
|
||||
if (C_FLAG)
|
||||
CHECK_C_COMPILER_FLAG(${_flag} C_FLAG_${varname})
|
||||
if (C_FLAG_${varname})
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_flag}" CACHE INTERNAL "C Flags")
|
||||
endif ()
|
||||
unset(C_FLAG CACHE)
|
||||
endif ()
|
||||
if (_CXX)
|
||||
CHECK_CXX_COMPILER_FLAG(${_flag} CXX_FLAG)
|
||||
if (CXX_FLAG)
|
||||
CHECK_CXX_COMPILER_FLAG(${_flag} CXX_FLAG_${varname})
|
||||
if (CXX_FLAG_${varname})
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${_flag}" CACHE INTERNAL "CXX Flags")
|
||||
endif ()
|
||||
unset(CXX_FLAG CACHE)
|
||||
endif ()
|
||||
endfunction()
|
||||
|
||||
|
Reference in New Issue
Block a user