summaryrefslogtreecommitdiff
path: root/CMake/DolphinDisableWarningsMSVC.cmake
blob: dbd35537625e81a83d9297df1b3feb695584c42b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
include(RemoveCompileFlag)

macro(dolphin_disable_warnings _target)
  get_target_property(_target_cxx_flags ${_target} COMPILE_OPTIONS)
  if (_target_cxx_flags)
    set(new_flags "")
    foreach(flag IN LISTS _target_cxx_flags)
      # all warning flags start with "/W" or "/w" or "-W" or "-w"
      if (NOT "${flag}" MATCHES "^[-/][Ww]")
        list(APPEND new_flags "${flag}")
      endif()
    endforeach()
    set_target_properties(${_target} PROPERTIES COMPILE_OPTIONS "${new_flags}")
  endif()
  if (MSVC)
    target_compile_options(${_target} PRIVATE "/W0")
  elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "GNU")
    target_compile_options(${_target} PRIVATE "-w")
  endif()
endmacro()