Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firestore: pin googletest to a commit that supports c++14 in cmake builds #14474

Merged
merged 5 commits into from
Feb 20, 2025

Conversation

dconeybe
Copy link
Contributor

@dconeybe dconeybe commented Feb 20, 2025

Before this PR, Firestore's cmake build always built against the main branch of https://github.com/google/googletest:

This worked fine, until googletest dropped c++14 support on Feb 10, 2025 in commit google/googletest@c00fd25. Since firebase-ios-sdk requires c++14 support, this caused all sorts of build errors (see examples below). The fix in this PR is to pin googletest at the last commit that supported c++14.

FAILED: Firestore/core/test/unit/util/CMakeFiles/firestore_util_test.dir/iterator_adaptors_test.cc.o 
/usr/bin/ccache /usr/bin/c++ -DCARES_STATICLIB -DFIREBASE_TESTS_BUILT_BY_CMAKE -DFIRESTORE_HAVE_CONFIG_DETECTED_H -DPB_ENABLE_MALLOC -DPB_FIELD_32BIT -DPB_NO_PACKED_STRUCTS=1 -I$HOME/work/ios/main/build -I$HOME/work/ios/main -I$HOME/work/ios/main/build/external/src/abseil-cpp -I$HOME/work/ios/main/Firestore/core/include -I$HOME/work/ios/main/build/external/src/leveldb/include -I$HOME/work/ios/main/build/external/src/snappy-build -I$HOME/work/ios/main/build/external/src/snappy -I$HOME/work/ios/main/build/external/src/nanopb -I$HOME/work/ios/main/Firestore/Protos/nanopb -I$HOME/work/ios/main/build/external/src/grpc/include -I$HOME/work/ios/main/build/external/src/re2 -I$HOME/work/ios/main/build/external/src/grpc-build/third_party/cares/cares -I$HOME/work/ios/main/build/external/src/cares -I$HOME/work/ios/main/build/external/src/protobuf/src -isystem $HOME/work/ios/main/build/external/src/googletest/googletest/include -isystem $HOME/work/ios/main/build/external/src/googletest/googletest -isystem $HOME/work/ios/main/build/external/src/googletest/googlemock/include -isystem $HOME/work/ios/main/build/external/src/googletest/googlemock -isystem $HOME/local/homebrew/Cellar/openssl@3/3.4.1/include -Wno-format-zero-length -g -std=gnu++17 -Wall -Wextra -Werror -Wformat -Wuninitialized -fno-common -Wunused-function -Wunused-value -Wunused-variable -fdiagnostics-color -Wno-error=redundant-move -Wreorder -Werror=reorder -MD -MT Firestore/core/test/unit/util/CMakeFiles/firestore_util_test.dir/iterator_adaptors_test.cc.o -MF Firestore/core/test/unit/util/CMakeFiles/firestore_util_test.dir/iterator_adaptors_test.cc.o.d -o Firestore/core/test/unit/util/CMakeFiles/firestore_util_test.dir/iterator_adaptors_test.cc.o -c $HOME/work/ios/main/Firestore/core/test/unit/util/iterator_adaptors_test.cc
$HOME/work/ios/main/Firestore/core/test/unit/util/iterator_adaptors_test.cc:85:41: error: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Werror=deprecated-declarations]
   85 |   class InlineStorageIter : public std::iterator<std::input_iterator_tag, T> {
      |                                         ^~~~~~~~
In file included from /usr/include/c++/14/iterator:61,
                 from $HOME/work/ios/main/Firestore/core/src/util/iterator_adaptors.h:22,
                 from $HOME/work/ios/main/Firestore/core/test/unit/util/iterator_adaptors_test.cc:17:
/usr/include/c++/14/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
$HOME/work/ios/main/Firestore/core/test/unit/util/iterator_adaptors_test.cc:571:19: error: ‘template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator’ is deprecated [-Werror=deprecated-declarations]
  571 |     : public std::iterator<std::input_iterator_tag, const int*> {
      |                   ^~~~~~~~
/usr/include/c++/14/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
cc1plus: all warnings being treated as errors

and

FAILED: Firestore/core/test/unit/local/firestore_local_test 
: && /usr/bin/c++ -g -Wl,--dependency-file=Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/link.d Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/bundle_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/document_overlay_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/globals_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/index_backfiller_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/index_manager_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_bundle_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_document_overlay_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_globals_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_index_manager_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_key_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_local_store_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_lru_garbage_collector_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_migrations_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_mutation_queue_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_opener_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_overlay_migration_manager_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_query_engine_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_remote_document_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_snappy_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_target_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_transaction_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_util_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/local_serializer_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/local_store_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/lru_garbage_collector_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/memory_bundle_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/memory_document_overlay_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/memory_globals_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/memory_index_manager_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/memory_local_store_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/memory_lru_garbage_collector_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/memory_mutation_queue_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/memory_query_engine_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/memory_remote_document_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/memory_target_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/mutation_queue_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/query_engine_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/reference_set_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/remote_document_cache_test.cc.o Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/target_cache_test.cc.o -o Firestore/core/test/unit/local/firestore_local_test  -Wl,-rpath,$HOME/local/homebrew/Cellar/openssl@3/3.4.1/lib  lib/libgtest.a  lib/libgtest_main.a  lib/libgmock.a  Firestore/core/libfirestore_core.a  Firestore/core/test/unit/local/libfirestore_local_testing.a  Firestore/Protos/libfirestore_protos_protobuf.a  Firestore/core/test/unit/remote/libfirestore_remote_testing.a  Firestore/core/test/unit/testutil/libfirestore_testutil.a  lib/libgmock.a  lib/libgtest.a  Firestore/core/test/unit/remote/libfirestore_remote_testing.a  Firestore/core/libfirestore_core.a  external/src/leveldb-build/libleveldb.a  external/src/snappy-build/libsnappy.a  Firestore/core/libfirestore_nanopb.a  Firestore/Protos/libfirestore_protos_nanopb.a  Firestore/core/libfirestore_util.a  Firestore/core/libfirestore_nanopb.a  Firestore/Protos/libfirestore_protos_nanopb.a  Firestore/core/libfirestore_util.a  external/src/grpc-build/libgrpc++.a  external/src/grpc-build/third_party/protobuf/libprotobufd.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_internal_check_op.a  external/src/grpc-build/third_party/abseil-cpp/absl/debugging/libabsl_leak_check.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_die_if_null.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_internal_conditions.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_internal_message.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_internal_nullguard.a  external/src/grpc-build/third_party/abseil-cpp/absl/debugging/libabsl_examine_stack.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_internal_format.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_internal_proto.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_internal_log_sink_set.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_sink.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_entry.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_initialize.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_globals.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_vlog_config_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_internal_fnmatch.a  external/src/grpc-build/third_party/abseil-cpp/absl/log/libabsl_log_internal_globals.a  external/src/grpc-build/third_party/protobuf/third_party/utf8_range/libutf8_validity.a  external/src/grpc-build/libgrpc.a  external/src/grpc-build/third_party/abseil-cpp/absl/status/libabsl_statusor.a  external/src/grpc-build/libupb_json_lib.a  external/src/grpc-build/libupb_textformat_lib.a  external/src/grpc-build/libupb_message_lib.a  external/src/grpc-build/libupb_base_lib.a  external/src/grpc-build/libupb_mem_lib.a  external/src/grpc-build/libutf8_range_lib.a  external/src/grpc-build/third_party/re2/libre2.a  /usr/lib/x86_64-linux-gnu/libz.so  external/src/grpc-build/third_party/cares/cares/lib/libcares.a  external/src/grpc-build/libgpr.a  external/src/grpc-build/third_party/abseil-cpp/absl/flags/libabsl_flags_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/flags/libabsl_flags_reflection.a  external/src/grpc-build/third_party/abseil-cpp/absl/container/libabsl_raw_hash_set.a  external/src/grpc-build/third_party/abseil-cpp/absl/hash/libabsl_hash.a  external/src/grpc-build/third_party/abseil-cpp/absl/hash/libabsl_city.a  external/src/grpc-build/third_party/abseil-cpp/absl/hash/libabsl_low_level_hash.a  external/src/grpc-build/third_party/abseil-cpp/absl/container/libabsl_hashtablez_sampler.a  external/src/grpc-build/third_party/abseil-cpp/absl/flags/libabsl_flags_config.a  external/src/grpc-build/third_party/abseil-cpp/absl/flags/libabsl_flags_program_name.a  external/src/grpc-build/third_party/abseil-cpp/absl/flags/libabsl_flags_private_handle_accessor.a  external/src/grpc-build/third_party/abseil-cpp/absl/flags/libabsl_flags_commandlineflag.a  external/src/grpc-build/third_party/abseil-cpp/absl/flags/libabsl_flags_commandlineflag_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/status/libabsl_status.a  external/src/grpc-build/third_party/abseil-cpp/absl/strings/libabsl_cord.a  external/src/grpc-build/third_party/abseil-cpp/absl/strings/libabsl_cordz_info.a  external/src/grpc-build/third_party/abseil-cpp/absl/strings/libabsl_cord_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/strings/libabsl_cordz_functions.a  external/src/grpc-build/third_party/abseil-cpp/absl/profiling/libabsl_exponential_biased.a  external/src/grpc-build/third_party/abseil-cpp/absl/strings/libabsl_cordz_handle.a  external/src/grpc-build/third_party/abseil-cpp/absl/crc/libabsl_crc_cord_state.a  external/src/grpc-build/third_party/abseil-cpp/absl/crc/libabsl_crc32c.a  external/src/grpc-build/third_party/abseil-cpp/absl/crc/libabsl_crc_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/crc/libabsl_crc_cpu_detect.a  external/src/grpc-build/third_party/abseil-cpp/absl/base/libabsl_strerror.a  external/src/grpc-build/third_party/abseil-cpp/absl/synchronization/libabsl_synchronization.a  external/src/grpc-build/third_party/abseil-cpp/absl/debugging/libabsl_stacktrace.a  external/src/grpc-build/third_party/abseil-cpp/absl/debugging/libabsl_symbolize.a  external/src/grpc-build/third_party/abseil-cpp/absl/debugging/libabsl_debugging_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/debugging/libabsl_demangle_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/synchronization/libabsl_graphcycles_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/synchronization/libabsl_kernel_timeout_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/base/libabsl_malloc_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/types/libabsl_bad_variant_access.a  external/src/grpc-build/third_party/abseil-cpp/absl/flags/libabsl_flags_marshalling.a  external/src/grpc-build/third_party/abseil-cpp/absl/strings/libabsl_str_format_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/random/libabsl_random_distributions.a  external/src/grpc-build/third_party/abseil-cpp/absl/random/libabsl_random_seed_sequences.a  external/src/grpc-build/third_party/abseil-cpp/absl/random/libabsl_random_internal_pool_urbg.a  external/src/grpc-build/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen.a  external/src/grpc-build/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_hwaes.a  external/src/grpc-build/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_hwaes_impl.a  external/src/grpc-build/third_party/abseil-cpp/absl/random/libabsl_random_internal_randen_slow.a  external/src/grpc-build/third_party/abseil-cpp/absl/random/libabsl_random_internal_platform.a  external/src/grpc-build/third_party/abseil-cpp/absl/random/libabsl_random_internal_seed_material.a  external/src/grpc-build/third_party/abseil-cpp/absl/types/libabsl_bad_optional_access.a  external/src/grpc-build/third_party/abseil-cpp/absl/random/libabsl_random_seed_gen_exception.a  $HOME/local/homebrew/Cellar/openssl@3/3.4.1/lib/libssl.so  $HOME/local/homebrew/Cellar/openssl@3/3.4.1/lib/libcrypto.so  external/src/grpc-build/libaddress_sorting.a  -ldl  -lm  -lrt  external/src/nanopb-build/libprotobuf-nanopbd.a  external/src/grpc-build/third_party/abseil-cpp/absl/time/libabsl_time.a  external/src/grpc-build/third_party/abseil-cpp/absl/strings/libabsl_strings.a  external/src/grpc-build/third_party/abseil-cpp/absl/strings/libabsl_strings_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/strings/libabsl_string_view.a  external/src/grpc-build/third_party/abseil-cpp/absl/base/libabsl_base.a  external/src/grpc-build/third_party/abseil-cpp/absl/base/libabsl_spinlock_wait.a  -lrt  external/src/grpc-build/third_party/abseil-cpp/absl/base/libabsl_throw_delegate.a  external/src/grpc-build/third_party/abseil-cpp/absl/base/libabsl_raw_logging_internal.a  external/src/grpc-build/third_party/abseil-cpp/absl/base/libabsl_log_severity.a  external/src/grpc-build/third_party/abseil-cpp/absl/numeric/libabsl_int128.a  external/src/grpc-build/third_party/abseil-cpp/absl/time/libabsl_civil_time.a  external/src/grpc-build/third_party/abseil-cpp/absl/time/libabsl_time_zone.a && :
/usr/bin/ld: Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/globals_cache_test.cc.o: in function `firebase::firestore::local::(anonymous namespace)::GlobalsCacheTest_ReturnsSavedSessionToken_Test::TestBody()::{lambda()#1}::operator()() const':
$HOME/work/ios/main/Firestore/core/test/unit/local/globals_cache_test.cc:52:(.text+0x9e1): undefined reference to `firebase::firestore::nanopb::ByteString::ByteString(std::basic_string_view<char, std::char_traits<char> >)'
/usr/bin/ld: $HOME/work/ios/main/Firestore/core/test/unit/local/globals_cache_test.cc:59:(.text+0xb57): undefined reference to `firebase::firestore::nanopb::ByteString::ByteString(std::basic_string_view<char, std::char_traits<char> >)'
/usr/bin/ld: Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_key_test.cc.o: in function `firebase::firestore::local::(anonymous namespace)::DocMutationKey(std::basic_string_view<char, std::char_traits<char> >, std::basic_string_view<char, std::char_traits<char> >, int)':
$HOME/work/ios/main/Firestore/core/test/unit/local/leveldb_key_test.cc:50:(.text+0x17a): undefined reference to `firebase::firestore::local::LevelDbDocumentMutationKey::Key[abi:cxx11](std::basic_string_view<char, std::char_traits<char> >, firebase::firestore::model::DocumentKey const&, int)'
/usr/bin/ld: Firestore/core/test/unit/local/CMakeFiles/firestore_local_test.dir/leveldb_key_test.cc.o: in function `firebase::firestore::local::(anonymous namespace)::RemoteDocumentReadTimeKey(std::basic_string_view<char, std::char_traits<char> >, long, std::basic_string_view<char, std::char_traits<char> >)':

#no-changelog

…void breaking the build over usage of deprecated things
@dconeybe dconeybe self-assigned this Feb 20, 2025
…E_CXX_EXTENSIONS ON), which was added 7 years ago in #715"

This reverts commit f0a3334.

The following compiler error results from removing `set(CMAKE_CXX_EXTENSIONS ON)`:

```
FAILED: Firestore/core/test/unit/util/CMakeFiles/firestore_util_test.dir/comparison_test.cc.o
/usr/bin/ccache /usr/bin/c++ -DCARES_STATICLIB -DFIREBASE_TESTS_BUILT_BY_CMAKE -DFIRESTORE_HAVE_CONFIG_DETECTED_H -DPB_ENABLE_MALLOC -DPB_FIELD_32BIT -DPB_NO_PACKED_STRUCTS=1 -Ifirebase-ios-sdk/main/build -Ifirebase-ios-sdk/main -Ifirebase-ios-sdk/main/build/external/src/abseil-cpp -Ifirebase-ios-sdk/main/Firestore/core/include -Ifirebase-ios-sdk/main/build/external/src/leveldb/include -Ifirebase-ios-sdk/main/build/external/src/snappy-build -Ifirebase-ios-sdk/main/build/external/src/snappy -Ifirebase-ios-sdk/main/build/external/src/nanopb -Ifirebase-ios-sdk/main/Firestore/Protos/nanopb -Ifirebase-ios-sdk/main/build/external/src/grpc/include -Ifirebase-ios-sdk/main/build/external/src/re2 -Ifirebase-ios-sdk/main/build/external/src/grpc-build/third_party/cares/cares -Ifirebase-ios-sdk/main/build/external/src/cares -Ifirebase-ios-sdk/main/build/external/src/protobuf/src -isystem firebase-ios-sdk/main/build/external/src/googletest/googletest/include -isystem firebase-ios-sdk/main/build/external/src/googletest/googletest -isystem firebase-ios-sdk/main/build/external/src/googletest/googlemock/include -isystem firebase-ios-sdk/main/build/external/src/googletest/googlemock -isystem $HOMEBREW_PREFIX/Cellar/openssl@3/3.4.1/include -Wno-format-zero-length -g -std=c++14 -Wall -Wextra -Werror -Wformat -Wuninitialized -fno-common -Wunused-function -Wunused-value -Wunused-variable -fdiagnostics-color -Wno-error=redundant-move -Wno-error=deprecated-declarations -Wreorder -Werror=reorder -MD -MT Firestore/core/test/unit/util/CMakeFiles/firestore_util_test.dir/comparison_test.cc.o -MF Firestore/core/test/unit/util/CMakeFiles/firestore_util_test.dir/comparison_test.cc.o.d -o Firestore/core/test/unit/util/CMakeFiles/firestore_util_test.dir/comparison_test.cc.o -c firebase-ios-sdk/main/Firestore/core/test/unit/util/comparison_test.cc
firebase-ios-sdk/main/Firestore/core/test/unit/util/comparison_test.cc:196:27: error: exponent has no digits
  196 |   double min_sub_normal = 0x1.0p-1074;
      |                           ^~~~~~
```
…ons to avoid breaking the build over usage of deprecated things"

This reverts commit da81417.

Although this change seems reasonable, it's out of scope for this PR and can be applied later, if desired.
@dconeybe dconeybe changed the title Firestore: fix various cmake build errors Firestore: pin googletest to a commit that supports c++14 Feb 20, 2025
@dconeybe dconeybe changed the title Firestore: pin googletest to a commit that supports c++14 Firestore: pin googletest to a commit that supports c++14 in cmake builds Feb 20, 2025
@dconeybe dconeybe marked this pull request as ready for review February 20, 2025 07:02
@paulb777
Copy link
Member

Thanks @dconeybe !

@paulb777 paulb777 merged commit d03362a into main Feb 20, 2025
36 checks passed
@paulb777 paulb777 deleted the dconeybe/CmakeBuildFix branch February 20, 2025 15:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants