-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67916/
-----------------------------------------------------------
(Updated July 31, 2018, 11:02 a.m.)
Review request for mesos, Benjamin Bannier, Joseph Wu, and Till Toenshoff.
Changes
-------
Used original upstream patch as GNU Patch is capable of applying it, though
`git cherry-pick` (my original method) could not.
Bugs: MESOS-8990
https://issues.apache.org/jira/browse/MESOS-8990
Repository: mesos
Description (updated)
-------
Per MESOS-8990, our Google Test dependency needs a patch from
upstream, https://github.com/google/googletest/pull/1620, in order to
continue building with the next version of MSVC (and potentially other
compilers).
This patch file was generated with `git format-patch` for the commit
`f66ab00704cd47e4e63ef6d425ca14b9192aaebb`.
Additionally, we need to define `GTEST_LANG_CXX11=1` when including
the GoogleTest headers such that the patch is used.
Diffs (updated)
-----
3rdparty/CMakeLists.txt d8d113c17d124b763659dcc5ace9066499de6cd4
3rdparty/googletest-release-1.8.0.patch PRE-CREATION
Diff: https://reviews.apache.org/r/67916/diff/3/
Changes: https://reviews.apache.org/r/67916/diff/2-3/
Testing
-------
Repro'ed MESOS-8990 on Windows with Visual Studio Preview, and the following
(temporary) CMake changes:
```
# Set the default standard to C++11 for all targets.
-set(CMAKE_CXX_STANDARD 11)
-set(CMAKE_CXX_STANDARD_REQUIRED ON)
+# set(CMAKE_CXX_STANDARD 11)
+# set(CMAKE_CXX_STANDARD_REQUIRED ON)
# Do not use, for example, `-std=gnu++11`.
-set(CMAKE_CXX_EXTENSIONS OFF)
+# set(CMAKE_CXX_EXTENSIONS OFF)
+add_compile_options(/std:c++latest)
+add_definitions(-D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING)
+add_definitions(-D_HAS_AUTO_PTR_ETC=1)
+add_definitions(-D_HAS_TR1_NAMESPACE=1)
+add_definitions(-D_SILENCE_TR1_NAMESPACE_DEPRECATION_WARNING)
+add_definitions(-D_SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING)
```
After adding the necessary compile interface definition, `ninja tests`
successfully built on Windows with this patch applied, after not building
before the patch.
Thanks,
Andrew Schwartzmeyer