include(CheckCCompilerFlag)
function(add_if_flag_compiles flag)
  CHECK_C_COMPILER_FLAG("${flag}" COMPILER_HAS_THOSE_TOGGLES)
  set(outcome "Failed")
  if(COMPILER_HAS_THOSE_TOGGLES)
    foreach(var ${ARGN})
      set(${var} "${flag} ${${var}}" PARENT_SCOPE)
    endforeach()
    set(outcome "compiles")
  endif()
  message(STATUS "Testing if ${flag} can be used -- ${outcome}")
endfunction()