message: Enabling generation of .pdb files in release builds.
  /Zi was added to objects, /DEBUG to exe, lib, etc, linker optimizations
  re-enabled because /DEBUG disables them.
diff: @@ -100,6 +100,15 @@ macro(setStandardCompilerSettings)
  #Only warnings that are never useful should be added here. In other cases they should be disabled
  #on a case by case basis on the settings for individual target or file
  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd4345 -wd4503")
  +
  + # /Zi generates debug information in the .obj files.
  + set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Zi")
  + # Tell the linker to generate .pdb files for release builds (/DEBUG), but still remove unreferenced
  + # functions (/OPT:REF), and merge functions with identical assembly instructions (/OPT:ICF).
  + # Specifying /DEBUG automatically turns off the other (necessary) optimizations that are reenabled.
  + set(CMAKE_MODULE_LINKER_FLAGS_RELEASE "${CMAKE_MODULE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
  + set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
  + set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG /OPT:REF /OPT:ICF")
  else()
  if(LINUX)
  #prepare for linking to pthread
  @@ -137,6 +146,8 @@ macro(add_osspecific_linking targetname)
  if(${LINUX_DISTRO} STREQUAL "CentOS")
  target_link_libraries(${targetname} krb5 k5crypto)
  endif()
  + elseif(MSVC)
  + set_property(TARGET ${targetname} APPEND PROPERTY LINK_FLAGS_RELEASE /DEBUG)
  endif()
  endmacro()
  