fix compilation failure on VS2017 73/25473/7
authorGeorge Nash <george.nash@intel.com>
Fri, 25 May 2018 22:02:33 +0000 (15:02 -0700)
committerMats Wichmann <mats@linux.com>
Fri, 8 Jun 2018 12:31:50 +0000 (12:31 +0000)
In the latest build of Visual Studio 2017 will
produce a build waring when encountering any code
in the str::tr1 namespace. The warning is produced
when headers from the external googletest framework
are included in the build.

Adding the _SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING
macro will cause the build to ignore the build warning.

The googletest project is aware of the issue. See the
actual commit for a link to the ticket for the google
test project.

Change-Id: I9be616498df95b8dd9aa165717bd178c53f3221b
Signed-off-by: George Nash <george.nash@intel.com>
build_common/windows/SConscript

index a6613b8..f023e86 100644 (file)
@@ -225,6 +225,15 @@ if env['CC'] == 'cl':
     # See https://msdn.microsoft.com/en-us/library/ttcz0bys.aspx for more details.
     env.AppendUnique(CPPDEFINES=['_CRT_SECURE_NO_WARNINGS', '_CRT_NONSTDC_NO_WARNINGS', '_SCL_SECURE_NO_WARNINGS'])
 
+    # The googletest code uses the now deprecated str::tr1 namespace for tuples
+    # see https://github.com/google/googletest/issues/1111 once a new version of
+    # googletest introduced we should remove this define. Since this is needed any
+    # time the googletest headers are included its simpler to place is in this one
+    # location than to spread it through out the scons files.
+    # TODO Removed, if possible, when updating to a version of googletest newer than
+    # version 1.8.0
+    env.AppendUnique(CPPDEFINES=['_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING'])
+
     if env.get('MSVC_UWP_APP') != '1':
         # Add Desktop specific libraries
         env.AppendUnique(LIBS=[