summaryrefslogtreecommitdiff
path: root/CMake/FlagsOverride.cmake
blob: d52cf4b1536d0fe36c97c1dc857506f3807a553f (plain)
1
2
3
4
5
6
7
8
9
10
11
if(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
  # The default MSVC flags for Release and RelWithDebInfo are poorly chosen
  # (see issue https://gitlab.kitware.com/cmake/cmake/-/issues/20812)
  # By default, inlining is disabled for RelWithDebInfo.
  # Manually redefine MSVC flags to match Visual Studio defaults
  # and ensure that Release builds generate debug info.
  foreach(f CMAKE_C_FLAGS_RELWITHDEBINFO CMAKE_C_FLAGS_RELEASE CMAKE_CXX_FLAGS_RELWITHDEBINFO CMAKE_CXX_FLAGS_RELEASE)
    # optimize, define NDEBUG, generate debug info
    set(${f} "/O2 /DNDEBUG /Z7")
  endforeach()
endif()