From 96f51426e4c776a71d0a446c1e4f4c7a5ea921df Mon Sep 17 00:00:00 2001 From: Derek Mauro Date: Thu, 30 Jun 2022 09:53:12 -0700 Subject: [PATCH] Remove support for C++11 v1.12.x is the last branch to support C++11 Future releases will require at least C++14 PiperOrigin-RevId: 458250106 Change-Id: Ibee2248649ff3c13daaa179135887848bf730f3f --- README.md | 9 ++++++--- ci/linux-presubmit.sh | 4 ++-- ci/macos-presubmit.sh | 5 +++-- docs/quickstart-bazel.md | 2 +- docs/quickstart-cmake.md | 6 +++--- 5 files changed, 15 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 4c0f0c4c..745f5c26 100644 --- a/README.md +++ b/README.md @@ -15,11 +15,14 @@ Our documentation is now live on GitHub Pages at https://google.github.io/googletest/. We recommend browsing the documentation on GitHub Pages rather than directly in the repository. -#### Release 1.12.0 +#### Release 1.12.1 -[Release 1.12.0](https://github.com/google/googletest/releases/tag/release-1.12.0) +[Release 1.12.1](https://github.com/google/googletest/releases/tag/release-1.12.1) is now available. +The 1.12.x branch will be the last to support C++11. Future releases will +require at least C++14. + #### Coming Soon * We are planning to take a dependency on @@ -56,7 +59,7 @@ More information about building GoogleTest can be found at ## Supported Platforms -GoogleTest requires a codebase and compiler compliant with the C++11 standard or +GoogleTest requires a codebase and compiler compliant with the C++14 standard or newer. The GoogleTest code is officially supported on the following platforms. diff --git a/ci/linux-presubmit.sh b/ci/linux-presubmit.sh index 0ee56704..09abdc87 100644 --- a/ci/linux-presubmit.sh +++ b/ci/linux-presubmit.sh @@ -39,7 +39,7 @@ if [[ -z ${GTEST_ROOT:-} ]]; then fi if [[ -z ${STD:-} ]]; then - STD="c++11 c++14 c++17 c++20" + STD="c++14 c++17 c++20" fi # Test the CMake build @@ -55,7 +55,7 @@ for cc in /usr/local/bin/gcc /opt/llvm/clang/bin/clang; do ${LINUX_LATEST_CONTAINER} \ /bin/bash -c " cmake /src \ - -DCMAKE_CXX_STANDARD=11 \ + -DCMAKE_CXX_STANDARD=14 \ -Dgtest_build_samples=ON \ -Dgtest_build_tests=ON \ -Dgmock_build_tests=ON \ diff --git a/ci/macos-presubmit.sh b/ci/macos-presubmit.sh index d6423faa..3b711da5 100644 --- a/ci/macos-presubmit.sh +++ b/ci/macos-presubmit.sh @@ -40,7 +40,7 @@ for cmake_off_on in OFF ON; do BUILD_DIR=$(mktemp -d build_dir.XXXXXXXX) cd ${BUILD_DIR} time cmake ${GTEST_ROOT} \ - -DCMAKE_CXX_STANDARD=11 \ + -DCMAKE_CXX_STANDARD=14 \ -Dgtest_build_samples=ON \ -Dgtest_build_tests=ON \ -Dgmock_build_tests=ON \ @@ -53,7 +53,7 @@ done # Test the Bazel build # If we are running on Kokoro, check for a versioned Bazel binary. -KOKORO_GFILE_BAZEL_BIN="bazel-3.7.0-darwin-x86_64" +KOKORO_GFILE_BAZEL_BIN="bazel-5.1.1-darwin-x86_64" if [[ ${KOKORO_GFILE_DIR:-} ]] && [[ -f ${KOKORO_GFILE_DIR}/${KOKORO_GFILE_BAZEL_BIN} ]]; then BAZEL_BIN="${KOKORO_GFILE_DIR}/${KOKORO_GFILE_BAZEL_BIN}" chmod +x ${BAZEL_BIN} @@ -66,6 +66,7 @@ for absl in 0 1; do ${BAZEL_BIN} test ... \ --copt="-Wall" \ --copt="-Werror" \ + --cxxopt="-std=c++14" \ --define="absl=${absl}" \ --keep_going \ --show_timestamps \ diff --git a/docs/quickstart-bazel.md b/docs/quickstart-bazel.md index 5d6e9c68..c187e729 100644 --- a/docs/quickstart-bazel.md +++ b/docs/quickstart-bazel.md @@ -9,7 +9,7 @@ we recommend this tutorial as a starting point. To complete this tutorial, you'll need: * A compatible operating system (e.g. Linux, macOS, Windows). -* A compatible C++ compiler that supports at least C++11. +* A compatible C++ compiler that supports at least C++14. * [Bazel](https://bazel.build/), the preferred build system used by the GoogleTest team. diff --git a/docs/quickstart-cmake.md b/docs/quickstart-cmake.md index 420f1d3a..fb72f384 100644 --- a/docs/quickstart-cmake.md +++ b/docs/quickstart-cmake.md @@ -10,7 +10,7 @@ this tutorial as a starting point. If your project uses Bazel, see the To complete this tutorial, you'll need: * A compatible operating system (e.g. Linux, macOS, Windows). -* A compatible C++ compiler that supports at least C++11. +* A compatible C++ compiler that supports at least C++14. * [CMake](https://cmake.org/) and a compatible build tool for building the project. * Compatible build tools include @@ -52,8 +52,8 @@ To do this, in your project directory (`my_project`), create a file named cmake_minimum_required(VERSION 3.14) project(my_project) -# GoogleTest requires at least C++11 -set(CMAKE_CXX_STANDARD 11) +# GoogleTest requires at least C++14 +set(CMAKE_CXX_STANDARD 14) include(FetchContent) FetchContent_Declare(