summaryrefslogtreecommitdiff
path: root/cmake/CompilerUtils.cmake
blob: 5cea44b67e908dffee25a4d1e3df6c6a61cf14be (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
include(CheckCCompilerFlag)

function(test_and_set_c_compiler_flag_global _flag)

  string(REGEX REPLACE "-" "_" _sflag ${_flag})
  check_c_compiler_flag(${_flag} COMPILER_SUPPORTS_FLAG_${_sflag})

  if(COMPILER_SUPPORTS_FLAG_${_sflag})
    message(STATUS "Compiler supports flag ${_flag}, added globally")
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${_flag}" PARENT_SCOPE)
  else(${_retval})
      message(STATUS "Compiler does not support flag ${_flag}, discarded")
  endif()

endfunction(test_and_set_c_compiler_flag_global)