about summary refs log tree commit diff
path: root/third_party/abseil_cpp/CMake
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/abseil_cpp/CMake')
-rw-r--r--third_party/abseil_cpp/CMake/AbseilDll.cmake510
-rw-r--r--third_party/abseil_cpp/CMake/AbseilHelpers.cmake353
-rw-r--r--third_party/abseil_cpp/CMake/AbseilInstallDirs.cmake20
-rw-r--r--third_party/abseil_cpp/CMake/Googletest/CMakeLists.txt.in26
-rw-r--r--third_party/abseil_cpp/CMake/Googletest/DownloadGTest.cmake41
-rw-r--r--third_party/abseil_cpp/CMake/README.md101
-rw-r--r--third_party/abseil_cpp/CMake/abslConfig.cmake.in8
-rw-r--r--third_party/abseil_cpp/CMake/install_test_project/CMakeLists.txt27
-rw-r--r--third_party/abseil_cpp/CMake/install_test_project/simple.cc23
-rwxr-xr-xthird_party/abseil_cpp/CMake/install_test_project/test.sh144
10 files changed, 0 insertions, 1253 deletions
diff --git a/third_party/abseil_cpp/CMake/AbseilDll.cmake b/third_party/abseil_cpp/CMake/AbseilDll.cmake
deleted file mode 100644
index e25174a3ba..0000000000
--- a/third_party/abseil_cpp/CMake/AbseilDll.cmake
+++ /dev/null
@@ -1,510 +0,0 @@
-include(CMakeParseArguments)
-
-set(ABSL_INTERNAL_DLL_FILES
-  "algorithm/algorithm.h"
-  "algorithm/container.h"
-  "base/attributes.h"
-  "base/call_once.h"
-  "base/casts.h"
-  "base/config.h"
-  "base/const_init.h"
-  "base/dynamic_annotations.cc"
-  "base/dynamic_annotations.h"
-  "base/internal/atomic_hook.h"
-  "base/internal/bits.h"
-  "base/internal/cycleclock.cc"
-  "base/internal/cycleclock.h"
-  "base/internal/direct_mmap.h"
-  "base/internal/dynamic_annotations.h"
-  "base/internal/endian.h"
-  "base/internal/errno_saver.h"
-  "base/internal/exponential_biased.cc"
-  "base/internal/exponential_biased.h"
-  "base/internal/fast_type_id.h"
-  "base/internal/hide_ptr.h"
-  "base/internal/identity.h"
-  "base/internal/invoke.h"
-  "base/internal/inline_variable.h"
-  "base/internal/low_level_alloc.cc"
-  "base/internal/low_level_alloc.h"
-  "base/internal/low_level_scheduling.h"
-  "base/internal/per_thread_tls.h"
-  "base/internal/periodic_sampler.cc"
-  "base/internal/periodic_sampler.h"
-  "base/internal/pretty_function.h"
-  "base/internal/raw_logging.cc"
-  "base/internal/raw_logging.h"
-  "base/internal/scheduling_mode.h"
-  "base/internal/scoped_set_env.cc"
-  "base/internal/scoped_set_env.h"
-  "base/internal/strerror.h"
-  "base/internal/strerror.cc"
-  "base/internal/spinlock.cc"
-  "base/internal/spinlock.h"
-  "base/internal/spinlock_wait.cc"
-  "base/internal/spinlock_wait.h"
-  "base/internal/sysinfo.cc"
-  "base/internal/sysinfo.h"
-  "base/internal/thread_annotations.h"
-  "base/internal/thread_identity.cc"
-  "base/internal/thread_identity.h"
-  "base/internal/throw_delegate.cc"
-  "base/internal/throw_delegate.h"
-  "base/internal/tsan_mutex_interface.h"
-  "base/internal/unaligned_access.h"
-  "base/internal/unscaledcycleclock.cc"
-  "base/internal/unscaledcycleclock.h"
-  "base/log_severity.cc"
-  "base/log_severity.h"
-  "base/macros.h"
-  "base/optimization.h"
-  "base/options.h"
-  "base/policy_checks.h"
-  "base/port.h"
-  "base/thread_annotations.h"
-  "container/btree_map.h"
-  "container/btree_set.h"
-  "container/fixed_array.h"
-  "container/flat_hash_map.h"
-  "container/flat_hash_set.h"
-  "container/inlined_vector.h"
-  "container/internal/btree.h"
-  "container/internal/btree_container.h"
-  "container/internal/common.h"
-  "container/internal/compressed_tuple.h"
-  "container/internal/container_memory.h"
-  "container/internal/counting_allocator.h"
-  "container/internal/hash_function_defaults.h"
-  "container/internal/hash_policy_traits.h"
-  "container/internal/hashtable_debug.h"
-  "container/internal/hashtable_debug_hooks.h"
-  "container/internal/hashtablez_sampler.cc"
-  "container/internal/hashtablez_sampler.h"
-  "container/internal/hashtablez_sampler_force_weak_definition.cc"
-  "container/internal/have_sse.h"
-  "container/internal/inlined_vector.h"
-  "container/internal/layout.h"
-  "container/internal/node_hash_policy.h"
-  "container/internal/raw_hash_map.h"
-  "container/internal/raw_hash_set.cc"
-  "container/internal/raw_hash_set.h"
-  "container/internal/tracked.h"
-  "container/node_hash_map.h"
-  "container/node_hash_set.h"
-  "debugging/failure_signal_handler.cc"
-  "debugging/failure_signal_handler.h"
-  "debugging/leak_check.h"
-  "debugging/leak_check_disable.cc"
-  "debugging/stacktrace.cc"
-  "debugging/stacktrace.h"
-  "debugging/symbolize.cc"
-  "debugging/symbolize.h"
-  "debugging/internal/address_is_readable.cc"
-  "debugging/internal/address_is_readable.h"
-  "debugging/internal/demangle.cc"
-  "debugging/internal/demangle.h"
-  "debugging/internal/elf_mem_image.cc"
-  "debugging/internal/elf_mem_image.h"
-  "debugging/internal/examine_stack.cc"
-  "debugging/internal/examine_stack.h"
-  "debugging/internal/stack_consumption.cc"
-  "debugging/internal/stack_consumption.h"
-  "debugging/internal/stacktrace_config.h"
-  "debugging/internal/symbolize.h"
-  "debugging/internal/vdso_support.cc"
-  "debugging/internal/vdso_support.h"
-  "functional/internal/front_binder.h"
-  "functional/bind_front.h"
-  "functional/function_ref.h"
-  "functional/internal/function_ref.h"
-  "hash/hash.h"
-  "hash/internal/city.h"
-  "hash/internal/city.cc"
-  "hash/internal/hash.h"
-  "hash/internal/hash.cc"
-  "hash/internal/spy_hash_state.h"
-  "memory/memory.h"
-  "meta/type_traits.h"
-  "numeric/int128.cc"
-  "numeric/int128.h"
-  "random/bernoulli_distribution.h"
-  "random/beta_distribution.h"
-  "random/bit_gen_ref.h"
-  "random/discrete_distribution.cc"
-  "random/discrete_distribution.h"
-  "random/distributions.h"
-  "random/exponential_distribution.h"
-  "random/gaussian_distribution.cc"
-  "random/gaussian_distribution.h"
-  "random/internal/distribution_caller.h"
-  "random/internal/fastmath.h"
-  "random/internal/fast_uniform_bits.h"
-  "random/internal/gaussian_distribution_gentables.cc"
-  "random/internal/generate_real.h"
-  "random/internal/iostream_state_saver.h"
-  "random/internal/mock_helpers.h"
-  "random/internal/nonsecure_base.h"
-  "random/internal/pcg_engine.h"
-  "random/internal/platform.h"
-  "random/internal/pool_urbg.cc"
-  "random/internal/pool_urbg.h"
-  "random/internal/randen.cc"
-  "random/internal/randen.h"
-  "random/internal/randen_detect.cc"
-  "random/internal/randen_detect.h"
-  "random/internal/randen_engine.h"
-  "random/internal/randen_hwaes.cc"
-  "random/internal/randen_hwaes.h"
-  "random/internal/randen_round_keys.cc"
-  "random/internal/randen_slow.cc"
-  "random/internal/randen_slow.h"
-  "random/internal/randen_traits.h"
-  "random/internal/salted_seed_seq.h"
-  "random/internal/seed_material.cc"
-  "random/internal/seed_material.h"
-  "random/internal/sequence_urbg.h"
-  "random/internal/traits.h"
-  "random/internal/uniform_helper.h"
-  "random/internal/wide_multiply.h"
-  "random/log_uniform_int_distribution.h"
-  "random/poisson_distribution.h"
-  "random/random.h"
-  "random/seed_gen_exception.cc"
-  "random/seed_gen_exception.h"
-  "random/seed_sequences.cc"
-  "random/seed_sequences.h"
-  "random/uniform_int_distribution.h"
-  "random/uniform_real_distribution.h"
-  "random/zipf_distribution.h"
-  "status/status.h"
-  "status/status.cc"
-  "status/status_payload_printer.h"
-  "status/status_payload_printer.cc"
-  "strings/ascii.cc"
-  "strings/ascii.h"
-  "strings/charconv.cc"
-  "strings/charconv.h"
-  "strings/cord.cc"
-  "strings/cord.h"
-  "strings/escaping.cc"
-  "strings/escaping.h"
-  "strings/internal/cord_internal.h"
-  "strings/internal/charconv_bigint.cc"
-  "strings/internal/charconv_bigint.h"
-  "strings/internal/charconv_parse.cc"
-  "strings/internal/charconv_parse.h"
-  "strings/internal/stl_type_traits.h"
-  "strings/match.cc"
-  "strings/match.h"
-  "strings/numbers.cc"
-  "strings/numbers.h"
-  "strings/str_format.h"
-  "strings/str_cat.cc"
-  "strings/str_cat.h"
-  "strings/str_join.h"
-  "strings/str_replace.cc"
-  "strings/str_replace.h"
-  "strings/str_split.cc"
-  "strings/str_split.h"
-  "strings/string_view.cc"
-  "strings/string_view.h"
-  "strings/strip.h"
-  "strings/substitute.cc"
-  "strings/substitute.h"
-  "strings/internal/char_map.h"
-  "strings/internal/escaping.h"
-  "strings/internal/escaping.cc"
-  "strings/internal/memutil.cc"
-  "strings/internal/memutil.h"
-  "strings/internal/ostringstream.cc"
-  "strings/internal/ostringstream.h"
-  "strings/internal/pow10_helper.cc"
-  "strings/internal/pow10_helper.h"
-  "strings/internal/resize_uninitialized.h"
-  "strings/internal/str_format/arg.cc"
-  "strings/internal/str_format/arg.h"
-  "strings/internal/str_format/bind.cc"
-  "strings/internal/str_format/bind.h"
-  "strings/internal/str_format/checker.h"
-  "strings/internal/str_format/extension.cc"
-  "strings/internal/str_format/extension.h"
-  "strings/internal/str_format/float_conversion.cc"
-  "strings/internal/str_format/float_conversion.h"
-  "strings/internal/str_format/output.cc"
-  "strings/internal/str_format/output.h"
-  "strings/internal/str_format/parser.cc"
-  "strings/internal/str_format/parser.h"
-  "strings/internal/str_join_internal.h"
-  "strings/internal/str_split_internal.h"
-  "strings/internal/utf8.cc"
-  "strings/internal/utf8.h"
-  "synchronization/barrier.cc"
-  "synchronization/barrier.h"
-  "synchronization/blocking_counter.cc"
-  "synchronization/blocking_counter.h"
-  "synchronization/mutex.cc"
-  "synchronization/mutex.h"
-  "synchronization/notification.cc"
-  "synchronization/notification.h"
-  "synchronization/internal/create_thread_identity.cc"
-  "synchronization/internal/create_thread_identity.h"
-  "synchronization/internal/graphcycles.cc"
-  "synchronization/internal/graphcycles.h"
-  "synchronization/internal/kernel_timeout.h"
-  "synchronization/internal/per_thread_sem.cc"
-  "synchronization/internal/per_thread_sem.h"
-  "synchronization/internal/thread_pool.h"
-  "synchronization/internal/waiter.cc"
-  "synchronization/internal/waiter.h"
-  "time/civil_time.cc"
-  "time/civil_time.h"
-  "time/clock.cc"
-  "time/clock.h"
-  "time/duration.cc"
-  "time/format.cc"
-  "time/time.cc"
-  "time/time.h"
-  "time/internal/cctz/include/cctz/civil_time.h"
-  "time/internal/cctz/include/cctz/civil_time_detail.h"
-  "time/internal/cctz/include/cctz/time_zone.h"
-  "time/internal/cctz/include/cctz/zone_info_source.h"
-  "time/internal/cctz/src/civil_time_detail.cc"
-  "time/internal/cctz/src/time_zone_fixed.cc"
-  "time/internal/cctz/src/time_zone_fixed.h"
-  "time/internal/cctz/src/time_zone_format.cc"
-  "time/internal/cctz/src/time_zone_if.cc"
-  "time/internal/cctz/src/time_zone_if.h"
-  "time/internal/cctz/src/time_zone_impl.cc"
-  "time/internal/cctz/src/time_zone_impl.h"
-  "time/internal/cctz/src/time_zone_info.cc"
-  "time/internal/cctz/src/time_zone_info.h"
-  "time/internal/cctz/src/time_zone_libc.cc"
-  "time/internal/cctz/src/time_zone_libc.h"
-  "time/internal/cctz/src/time_zone_lookup.cc"
-  "time/internal/cctz/src/time_zone_posix.cc"
-  "time/internal/cctz/src/time_zone_posix.h"
-  "time/internal/cctz/src/tzfile.h"
-  "time/internal/cctz/src/zone_info_source.cc"
-  "types/any.h"
-  "types/bad_any_cast.cc"
-  "types/bad_any_cast.h"
-  "types/bad_optional_access.cc"
-  "types/bad_optional_access.h"
-  "types/bad_variant_access.cc"
-  "types/bad_variant_access.h"
-  "types/compare.h"
-  "types/internal/conformance_aliases.h"
-  "types/internal/conformance_archetype.h"
-  "types/internal/conformance_profile.h"
-  "types/internal/parentheses.h"
-  "types/internal/transform_args.h"
-  "types/internal/variant.h"
-  "types/optional.h"
-  "types/internal/optional.h"
-  "types/span.h"
-  "types/internal/span.h"
-  "types/variant.h"
-  "utility/utility.h"
-)
-
-set(ABSL_INTERNAL_DLL_TARGETS
-  "stacktrace"
-  "symbolize"
-  "examine_stack"
-  "failure_signal_handler"
-  "debugging_internal"
-  "demangle_internal"
-  "leak_check"
-  "leak_check_disable"
-  "stack_consumption"
-  "debugging"
-  "hash"
-  "spy_hash_state"
-  "city"
-  "memory"
-  "strings"
-  "strings_internal"
-  "cord"
-  "str_format"
-  "str_format_internal"
-  "pow10_helper"
-  "int128"
-  "numeric"
-  "utility"
-  "any"
-  "bad_any_cast"
-  "bad_any_cast_impl"
-  "span"
-  "optional"
-  "bad_optional_access"
-  "bad_variant_access"
-  "variant"
-  "compare"
-  "algorithm"
-  "algorithm_container"
-  "graphcycles_internal"
-  "kernel_timeout_internal"
-  "synchronization"
-  "thread_pool"
-  "bind_front"
-  "function_ref"
-  "atomic_hook"
-  "log_severity"
-  "raw_logging_internal"
-  "spinlock_wait"
-  "config"
-  "dynamic_annotations"
-  "core_headers"
-  "malloc_internal"
-  "base_internal"
-  "base"
-  "throw_delegate"
-  "pretty_function"
-  "endian"
-  "bits"
-  "exponential_biased"
-  "periodic_sampler"
-  "scoped_set_env"
-  "type_traits"
-  "meta"
-  "random_random"
-  "random_bit_gen_ref"
-  "random_distributions"
-  "random_seed_gen_exception"
-  "random_seed_sequences"
-  "random_internal_traits"
-  "random_internal_distribution_caller"
-  "random_internal_distributions"
-  "random_internal_fast_uniform_bits"
-  "random_internal_seed_material"
-  "random_internal_pool_urbg"
-  "random_internal_explicit_seed_seq"
-  "random_internal_sequence_urbg"
-  "random_internal_salted_seed_seq"
-  "random_internal_iostream_state_saver"
-  "random_internal_generate_real"
-  "random_internal_wide_multiply"
-  "random_internal_fastmath"
-  "random_internal_nonsecure_base"
-  "random_internal_pcg_engine"
-  "random_internal_randen_engine"
-  "random_internal_platform"
-  "random_internal_randen"
-  "random_internal_randen_slow"
-  "random_internal_randen_hwaes"
-  "random_internal_randen_hwaes_impl"
-  "random_internal_uniform_helper"
-  "status"
-  "time"
-  "civil_time"
-  "time_zone"
-  "container"
-  "btree"
-  "compressed_tuple"
-  "fixed_array"
-  "inlined_vector_internal"
-  "inlined_vector"
-  "counting_allocator"
-  "flat_hash_map"
-  "flat_hash_set"
-  "node_hash_map"
-  "node_hash_set"
-  "container_memory"
-  "hash_function_defaults"
-  "hash_policy_traits"
-  "hashtablez_sampler"
-  "hashtable_debug"
-  "hashtable_debug_hooks"
-  "have_sse"
-  "node_hash_policy"
-  "raw_hash_map"
-  "container_common"
-  "raw_hash_set"
-  "layout"
-  "tracked"
-)
-
-function(absl_internal_dll_contains)
-  cmake_parse_arguments(ABSL_INTERNAL_DLL
-    ""
-    "OUTPUT;TARGET"
-    ""
-    ${ARGN}
-  )
-
-  STRING(REGEX REPLACE "^absl::" "" _target ${ABSL_INTERNAL_DLL_TARGET})
-
-  list(FIND
-    ABSL_INTERNAL_DLL_TARGETS
-    "${_target}"
-    _index)
-
-  if (${_index} GREATER -1)
-    set(${ABSL_INTERNAL_DLL_OUTPUT} 1 PARENT_SCOPE)
-  else()
-    set(${ABSL_INTERNAL_DLL_OUTPUT} 0 PARENT_SCOPE)
-  endif()
-endfunction()
-
-function(absl_internal_dll_targets)
-  cmake_parse_arguments(ABSL_INTERNAL_DLL
-  ""
-  "OUTPUT"
-  "DEPS"
-  ${ARGN}
-  )
-
-  set(_deps "")
-  foreach(dep IN LISTS ABSL_INTERNAL_DLL_DEPS)
-    absl_internal_dll_contains(TARGET ${dep} OUTPUT _contains)
-    if (_contains)
-      list(APPEND _deps abseil_dll)
-    else()
-      list(APPEND _deps ${dep})
-    endif()
-  endforeach()
-
-  # Because we may have added the DLL multiple times
-  list(REMOVE_DUPLICATES _deps)
-  set(${ABSL_INTERNAL_DLL_OUTPUT} "${_deps}" PARENT_SCOPE)
-endfunction()
-
-function(absl_make_dll)
-  add_library(
-    abseil_dll
-    SHARED
-      "${ABSL_INTERNAL_DLL_FILES}"
-  )
-  target_link_libraries(
-    abseil_dll
-    PRIVATE
-      ${ABSL_DEFAULT_LINKOPTS}
-  )
-  set_property(TARGET abseil_dll PROPERTY LINKER_LANGUAGE "CXX")
-  target_include_directories(
-    abseil_dll
-    PUBLIC
-      "$<BUILD_INTERFACE:${ABSL_COMMON_INCLUDE_DIRS}>"
-      $<INSTALL_INTERFACE:${ABSL_INSTALL_INCLUDEDIR}>
-  )
-
-  target_compile_options(
-    abseil_dll
-    PRIVATE
-      ${ABSL_DEFAULT_COPTS}
-  )
-
-  target_compile_definitions(
-    abseil_dll
-    PRIVATE
-      ABSL_BUILD_DLL
-      NOMINMAX
-    INTERFACE
-      ${ABSL_CC_LIB_DEFINES}
-  )
-  install(TARGETS abseil_dll EXPORT ${PROJECT_NAME}Targets
-        RUNTIME DESTINATION ${ABSL_INSTALL_BINDIR}
-        LIBRARY DESTINATION ${ABSL_INSTALL_LIBDIR}
-        ARCHIVE DESTINATION ${ABSL_INSTALL_LIBDIR}
-  )
-endfunction()
diff --git a/third_party/abseil_cpp/CMake/AbseilHelpers.cmake b/third_party/abseil_cpp/CMake/AbseilHelpers.cmake
deleted file mode 100644
index 86ff9eba2a..0000000000
--- a/third_party/abseil_cpp/CMake/AbseilHelpers.cmake
+++ /dev/null
@@ -1,353 +0,0 @@
-#
-# Copyright 2017 The Abseil Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-include(CMakeParseArguments)
-include(AbseilConfigureCopts)
-include(AbseilDll)
-include(AbseilInstallDirs)
-
-# The IDE folder for Abseil that will be used if Abseil is included in a CMake
-# project that sets
-#    set_property(GLOBAL PROPERTY USE_FOLDERS ON)
-# For example, Visual Studio supports folders.
-set(ABSL_IDE_FOLDER Abseil)
-
-# absl_cc_library()
-#
-# CMake function to imitate Bazel's cc_library rule.
-#
-# Parameters:
-# NAME: name of target (see Note)
-# HDRS: List of public header files for the library
-# SRCS: List of source files for the library
-# DEPS: List of other libraries to be linked in to the binary targets
-# COPTS: List of private compile options
-# DEFINES: List of public defines
-# LINKOPTS: List of link options
-# PUBLIC: Add this so that this library will be exported under absl::
-# Also in IDE, target will appear in Abseil folder while non PUBLIC will be in Abseil/internal.
-# TESTONLY: When added, this target will only be built if user passes -DABSL_RUN_TESTS=ON to CMake.
-#
-# Note:
-# By default, absl_cc_library will always create a library named absl_${NAME},
-# and alias target absl::${NAME}.  The absl:: form should always be used.
-# This is to reduce namespace pollution.
-#
-# absl_cc_library(
-#   NAME
-#     awesome
-#   HDRS
-#     "a.h"
-#   SRCS
-#     "a.cc"
-# )
-# absl_cc_library(
-#   NAME
-#     fantastic_lib
-#   SRCS
-#     "b.cc"
-#   DEPS
-#     absl::awesome # not "awesome" !
-#   PUBLIC
-# )
-#
-# absl_cc_library(
-#   NAME
-#     main_lib
-#   ...
-#   DEPS
-#     absl::fantastic_lib
-# )
-#
-# TODO: Implement "ALWAYSLINK"
-function(absl_cc_library)
-  cmake_parse_arguments(ABSL_CC_LIB
-    "DISABLE_INSTALL;PUBLIC;TESTONLY"
-    "NAME"
-    "HDRS;SRCS;COPTS;DEFINES;LINKOPTS;DEPS"
-    ${ARGN}
-  )
-
-  if(ABSL_CC_LIB_TESTONLY AND NOT ABSL_RUN_TESTS)
-    return()
-  endif()
-
-  if(ABSL_ENABLE_INSTALL)
-    set(_NAME "${ABSL_CC_LIB_NAME}")
-  else()
-    set(_NAME "absl_${ABSL_CC_LIB_NAME}")
-  endif()
-
-  # Check if this is a header-only library
-  # Note that as of February 2019, many popular OS's (for example, Ubuntu
-  # 16.04 LTS) only come with cmake 3.5 by default.  For this reason, we can't
-  # use list(FILTER...)
-  set(ABSL_CC_SRCS "${ABSL_CC_LIB_SRCS}")
-  foreach(src_file IN LISTS ABSL_CC_SRCS)
-    if(${src_file} MATCHES ".*\\.(h|inc)")
-      list(REMOVE_ITEM ABSL_CC_SRCS "${src_file}")
-    endif()
-  endforeach()
-
-  if("${ABSL_CC_SRCS}" STREQUAL "")
-    set(ABSL_CC_LIB_IS_INTERFACE 1)
-  else()
-    set(ABSL_CC_LIB_IS_INTERFACE 0)
-  endif()
-
-  # Determine this build target's relationship to the DLL. It's one of four things:
-  # 1. "dll"     -- This target is part of the DLL
-  # 2. "dll_dep" -- This target is not part of the DLL, but depends on the DLL.
-  #                 Note that we assume any target not in the DLL depends on the
-  #                 DLL. This is not a technical necessity but a convenience
-  #                 which happens to be true, because nearly every target is
-  #                 part of the DLL.
-  # 3. "shared"  -- This is a shared library, perhaps on a non-windows platform
-  #                 where DLL doesn't make sense.
-  # 4. "static"  -- This target does not depend on the DLL and should be built
-  #                 statically.
-  if (${ABSL_BUILD_DLL})
-    absl_internal_dll_contains(TARGET ${_NAME} OUTPUT _in_dll)
-    if (${_in_dll})
-      # This target should be replaced by the DLL
-      set(_build_type "dll")
-      set(ABSL_CC_LIB_IS_INTERFACE 1)
-    else()
-      # Building a DLL, but this target is not part of the DLL
-      set(_build_type "dll_dep")
-    endif()
-  elseif(BUILD_SHARED_LIBS)
-    set(_build_type "shared")
-  else()
-    set(_build_type "static")
-  endif()
-
-  if(NOT ABSL_CC_LIB_IS_INTERFACE)
-    if(${_build_type} STREQUAL "dll_dep")
-      # This target depends on the DLL. When adding dependencies to this target,
-      # any depended-on-target which is contained inside the DLL is replaced
-      # with a dependency on the DLL.
-      add_library(${_NAME} STATIC "")
-      target_sources(${_NAME} PRIVATE ${ABSL_CC_LIB_SRCS} ${ABSL_CC_LIB_HDRS})
-      absl_internal_dll_targets(
-        DEPS ${ABSL_CC_LIB_DEPS}
-        OUTPUT _dll_deps
-      )
-      target_link_libraries(${_NAME}
-        PUBLIC ${_dll_deps}
-        PRIVATE
-          ${ABSL_CC_LIB_LINKOPTS}
-          ${ABSL_DEFAULT_LINKOPTS}
-      )
-
-      if (ABSL_CC_LIB_TESTONLY)
-        set(_gtest_link_define "GTEST_LINKED_AS_SHARED_LIBRARY=1")
-      else()
-        set(_gtest_link_define)
-      endif()
-
-      target_compile_definitions(${_NAME}
-        PUBLIC
-          ABSL_CONSUME_DLL
-          "${_gtest_link_define}"
-      )
-
-    elseif(${_build_type} STREQUAL "static" OR ${_build_type} STREQUAL "shared")
-      add_library(${_NAME} "")
-      target_sources(${_NAME} PRIVATE ${ABSL_CC_LIB_SRCS} ${ABSL_CC_LIB_HDRS})
-      target_link_libraries(${_NAME}
-      PUBLIC ${ABSL_CC_LIB_DEPS}
-      PRIVATE
-        ${ABSL_CC_LIB_LINKOPTS}
-        ${ABSL_DEFAULT_LINKOPTS}
-      )
-    else()
-      message(FATAL_ERROR "Invalid build type: ${_build_type}")
-    endif()
-
-    # Linker language can be inferred from sources, but in the case of DLLs we
-    # don't have any .cc files so it would be ambiguous. We could set it
-    # explicitly only in the case of DLLs but, because "CXX" is always the
-    # correct linker language for static or for shared libraries, we set it
-    # unconditionally.
-    set_property(TARGET ${_NAME} PROPERTY LINKER_LANGUAGE "CXX")
-
-    target_include_directories(${_NAME}
-      PUBLIC
-        "$<BUILD_INTERFACE:${ABSL_COMMON_INCLUDE_DIRS}>"
-        $<INSTALL_INTERFACE:${ABSL_INSTALL_INCLUDEDIR}>
-    )
-    target_compile_options(${_NAME}
-      PRIVATE ${ABSL_CC_LIB_COPTS})
-    target_compile_definitions(${_NAME} PUBLIC ${ABSL_CC_LIB_DEFINES})
-
-    # Add all Abseil targets to a a folder in the IDE for organization.
-    if(ABSL_CC_LIB_PUBLIC)
-      set_property(TARGET ${_NAME} PROPERTY FOLDER ${ABSL_IDE_FOLDER})
-    elseif(ABSL_CC_LIB_TESTONLY)
-      set_property(TARGET ${_NAME} PROPERTY FOLDER ${ABSL_IDE_FOLDER}/test)
-    else()
-      set_property(TARGET ${_NAME} PROPERTY FOLDER ${ABSL_IDE_FOLDER}/internal)
-    endif()
-
-    # INTERFACE libraries can't have the CXX_STANDARD property set
-    set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD ${ABSL_CXX_STANDARD})
-    set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
-
-    # When being installed, we lose the absl_ prefix.  We want to put it back
-    # to have properly named lib files.  This is a no-op when we are not being
-    # installed.
-    if(ABSL_ENABLE_INSTALL)
-      set_target_properties(${_NAME} PROPERTIES
-        OUTPUT_NAME "absl_${_NAME}"
-      )
-    endif()
-  else()
-    # Generating header-only library
-    add_library(${_NAME} INTERFACE)
-    target_include_directories(${_NAME}
-      INTERFACE
-        "$<BUILD_INTERFACE:${ABSL_COMMON_INCLUDE_DIRS}>"
-        $<INSTALL_INTERFACE:${ABSL_INSTALL_INCLUDEDIR}>
-      )
-
-    if (${_build_type} STREQUAL "dll")
-        set(ABSL_CC_LIB_DEPS abseil_dll)
-    endif()
-
-    target_link_libraries(${_NAME}
-      INTERFACE
-        ${ABSL_CC_LIB_DEPS}
-        ${ABSL_CC_LIB_LINKOPTS}
-        ${ABSL_DEFAULT_LINKOPTS}
-    )
-    target_compile_definitions(${_NAME} INTERFACE ${ABSL_CC_LIB_DEFINES})
-  endif()
-
-  # TODO currently we don't install googletest alongside abseil sources, so
-  # installed abseil can't be tested.
-  if(NOT ABSL_CC_LIB_TESTONLY AND ABSL_ENABLE_INSTALL)
-    install(TARGETS ${_NAME} EXPORT ${PROJECT_NAME}Targets
-          RUNTIME DESTINATION ${ABSL_INSTALL_BINDIR}
-          LIBRARY DESTINATION ${ABSL_INSTALL_LIBDIR}
-          ARCHIVE DESTINATION ${ABSL_INSTALL_LIBDIR}
-    )
-  endif()
-
-    add_library(absl::${ABSL_CC_LIB_NAME} ALIAS ${_NAME})
-endfunction()
-
-# absl_cc_test()
-#
-# CMake function to imitate Bazel's cc_test rule.
-#
-# Parameters:
-# NAME: name of target (see Usage below)
-# SRCS: List of source files for the binary
-# DEPS: List of other libraries to be linked in to the binary targets
-# COPTS: List of private compile options
-# DEFINES: List of public defines
-# LINKOPTS: List of link options
-#
-# Note:
-# By default, absl_cc_test will always create a binary named absl_${NAME}.
-# This will also add it to ctest list as absl_${NAME}.
-#
-# Usage:
-# absl_cc_library(
-#   NAME
-#     awesome
-#   HDRS
-#     "a.h"
-#   SRCS
-#     "a.cc"
-#   PUBLIC
-# )
-#
-# absl_cc_test(
-#   NAME
-#     awesome_test
-#   SRCS
-#     "awesome_test.cc"
-#   DEPS
-#     absl::awesome
-#     gmock
-#     gtest_main
-# )
-function(absl_cc_test)
-  if(NOT ABSL_RUN_TESTS)
-    return()
-  endif()
-
-  cmake_parse_arguments(ABSL_CC_TEST
-    ""
-    "NAME"
-    "SRCS;COPTS;DEFINES;LINKOPTS;DEPS"
-    ${ARGN}
-  )
-
-  set(_NAME "absl_${ABSL_CC_TEST_NAME}")
-
-  add_executable(${_NAME} "")
-  target_sources(${_NAME} PRIVATE ${ABSL_CC_TEST_SRCS})
-  target_include_directories(${_NAME}
-    PUBLIC ${ABSL_COMMON_INCLUDE_DIRS}
-    PRIVATE ${GMOCK_INCLUDE_DIRS} ${GTEST_INCLUDE_DIRS}
-  )
-
-  if (${ABSL_BUILD_DLL})
-    target_compile_definitions(${_NAME}
-      PUBLIC
-        ${ABSL_CC_TEST_DEFINES}
-        ABSL_CONSUME_DLL
-        GTEST_LINKED_AS_SHARED_LIBRARY=1
-    )
-
-    # Replace dependencies on targets inside the DLL with abseil_dll itself.
-    absl_internal_dll_targets(
-      DEPS ${ABSL_CC_TEST_DEPS}
-      OUTPUT ABSL_CC_TEST_DEPS
-    )
-  else()
-    target_compile_definitions(${_NAME}
-      PUBLIC
-        ${ABSL_CC_TEST_DEFINES}
-    )
-  endif()
-  target_compile_options(${_NAME}
-    PRIVATE ${ABSL_CC_TEST_COPTS}
-  )
-
-  target_link_libraries(${_NAME}
-    PUBLIC ${ABSL_CC_TEST_DEPS}
-    PRIVATE ${ABSL_CC_TEST_LINKOPTS}
-  )
-  # Add all Abseil targets to a folder in the IDE for organization.
-  set_property(TARGET ${_NAME} PROPERTY FOLDER ${ABSL_IDE_FOLDER}/test)
-
-  set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD ${ABSL_CXX_STANDARD})
-  set_property(TARGET ${_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
-
-  add_test(NAME ${_NAME} COMMAND ${_NAME})
-endfunction()
-
-
-function(check_target my_target)
-  if(NOT TARGET ${my_target})
-    message(FATAL_ERROR " ABSL: compiling absl requires a ${my_target} CMake target in your project,
-                   see CMake/README.md for more details")
-  endif(NOT TARGET ${my_target})
-endfunction()
diff --git a/third_party/abseil_cpp/CMake/AbseilInstallDirs.cmake b/third_party/abseil_cpp/CMake/AbseilInstallDirs.cmake
deleted file mode 100644
index b67272f830..0000000000
--- a/third_party/abseil_cpp/CMake/AbseilInstallDirs.cmake
+++ /dev/null
@@ -1,20 +0,0 @@
-include(GNUInstallDirs)
-
-# absl_VERSION is only set if we are an LTS release being installed, in which
-# case it may be into a system directory and so we need to make subdirectories
-# for each installed version of Abseil.  This mechanism is implemented in
-# Abseil's internal Copybara (https://github.com/google/copybara) workflows and
-# isn't visible in the CMake buildsystem itself.
-
-if(absl_VERSION)
-  set(ABSL_SUBDIR "${PROJECT_NAME}_${PROJECT_VERSION}")
-  set(ABSL_INSTALL_BINDIR "${CMAKE_INSTALL_BINDIR}/${ABSL_SUBDIR}")
-  set(ABSL_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/${ABSL_SUBDIR}")
-  set(ABSL_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}/{ABSL_SUBDIR}")
-  set(ABSL_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}/${ABSL_SUBDIR}")
-else()
-  set(ABSL_INSTALL_BINDIR "${CMAKE_INSTALL_BINDIR}")
-  set(ABSL_INSTALL_CONFIGDIR "${CMAKE_INSTALL_LIBDIR}/cmake/${PROJECT_NAME}")
-  set(ABSL_INSTALL_INCLUDEDIR "${CMAKE_INSTALL_INCLUDEDIR}")
-  set(ABSL_INSTALL_LIBDIR "${CMAKE_INSTALL_LIBDIR}")
-endif()
\ No newline at end of file
diff --git a/third_party/abseil_cpp/CMake/Googletest/CMakeLists.txt.in b/third_party/abseil_cpp/CMake/Googletest/CMakeLists.txt.in
deleted file mode 100644
index 994dac0bf7..0000000000
--- a/third_party/abseil_cpp/CMake/Googletest/CMakeLists.txt.in
+++ /dev/null
@@ -1,26 +0,0 @@
-cmake_minimum_required(VERSION 2.8.2)
-
-project(googletest-external NONE)
-
-include(ExternalProject)
-if(${ABSL_USE_GOOGLETEST_HEAD})
-  ExternalProject_Add(googletest
-    GIT_REPOSITORY    https://github.com/google/googletest.git
-    GIT_TAG           master
-    SOURCE_DIR        "${absl_gtest_src_dir}"
-    BINARY_DIR        "${absl_gtest_build_dir}"
-    CONFIGURE_COMMAND ""
-    BUILD_COMMAND     ""
-    INSTALL_COMMAND   ""
-    TEST_COMMAND      ""
-  )
-else()
-  ExternalProject_Add(googletest
-    SOURCE_DIR        "${absl_gtest_src_dir}"
-    BINARY_DIR        "${absl_gtest_build_dir}"
-    CONFIGURE_COMMAND ""
-    BUILD_COMMAND     ""
-    INSTALL_COMMAND   ""
-    TEST_COMMAND      ""
-  )
-endif()
\ No newline at end of file
diff --git a/third_party/abseil_cpp/CMake/Googletest/DownloadGTest.cmake b/third_party/abseil_cpp/CMake/Googletest/DownloadGTest.cmake
deleted file mode 100644
index 9d071c9170..0000000000
--- a/third_party/abseil_cpp/CMake/Googletest/DownloadGTest.cmake
+++ /dev/null
@@ -1,41 +0,0 @@
-# Integrates googletest at configure time.  Based on the instructions at
-# https://github.com/google/googletest/tree/master/googletest#incorporating-into-an-existing-cmake-project
-
-# Set up the external googletest project, downloading the latest from Github
-# master if requested.
-configure_file(
-  ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt.in
-  ${CMAKE_BINARY_DIR}/googletest-external/CMakeLists.txt
-)
-
-set(ABSL_SAVE_CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
-set(ABSL_SAVE_CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
-if (BUILD_SHARED_LIBS)
-  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DGTEST_CREATE_SHARED_LIBRARY=1")
-endif()
-
-# Configure and build the googletest source.
-execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" .
-  RESULT_VARIABLE result
-  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-external )
-if(result)
-  message(FATAL_ERROR "CMake step for googletest failed: ${result}")
-endif()
-
-execute_process(COMMAND ${CMAKE_COMMAND} --build .
-  RESULT_VARIABLE result
-  WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/googletest-external)
-if(result)
-  message(FATAL_ERROR "Build step for googletest failed: ${result}")
-endif()
-
-set(CMAKE_CXX_FLAGS ${ABSL_SAVE_CMAKE_CXX_FLAGS})
-set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${ABSL_SAVE_CMAKE_RUNTIME_OUTPUT_DIRECTORY})
-
-# Prevent overriding the parent project's compiler/linker settings on Windows
-set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
-
-# Add googletest directly to our build. This defines the gtest and gtest_main
-# targets.
-add_subdirectory(${absl_gtest_src_dir} ${absl_gtest_build_dir} EXCLUDE_FROM_ALL)
diff --git a/third_party/abseil_cpp/CMake/README.md b/third_party/abseil_cpp/CMake/README.md
deleted file mode 100644
index 8f73475a16..0000000000
--- a/third_party/abseil_cpp/CMake/README.md
+++ /dev/null
@@ -1,101 +0,0 @@
-# Abseil CMake Build Instructions
-
-Abseil comes with a CMake build script ([CMakeLists.txt](../CMakeLists.txt))
-that can be used on a wide range of platforms ("C" stands for cross-platform.).
-If you don't have CMake installed already, you can download it for free from
-<https://www.cmake.org/>.
-
-CMake works by generating native makefiles or build projects that can
-be used in the compiler environment of your choice.
-
-For API/ABI compatibility reasons, we strongly recommend building Abseil in a
-subdirectory of your project or as an embedded dependency.
-
-## Incorporating Abseil Into a CMake Project
-
-The recommendations below are similar to those for using CMake within the
-googletest framework
-(<https://github.com/google/googletest/blob/master/googletest/README.md#incorporating-into-an-existing-cmake-project>)
-
-### Step-by-Step Instructions
-
-1. If you want to build the Abseil tests, integrate the Abseil dependency
-[Google Test](https://github.com/google/googletest) into your CMake project. To disable Abseil tests, you have to pass
-`-DBUILD_TESTING=OFF` when configuring your project with CMake.
-
-2. Download Abseil and copy it into a subdirectory in your CMake project or add
-Abseil as a [git submodule](https://git-scm.com/docs/git-submodule) in your
-CMake project.
-
-3. You can then use the CMake command
-[`add_subdirectory()`](https://cmake.org/cmake/help/latest/command/add_subdirectory.html)
-to include Abseil directly in your CMake project.
-
-4. Add the **absl::** target you wish to use to the
-[`target_link_libraries()`](https://cmake.org/cmake/help/latest/command/target_link_libraries.html)
-section of your executable or of your library.<br>
-Here is a short CMakeLists.txt example of a project file using Abseil.
-
-```cmake
-cmake_minimum_required(VERSION 3.5)
-project(my_project)
-
-# Pick the C++ standard to compile with.
-# Abseil currently supports C++11, C++14, and C++17.
-set(CMAKE_CXX_STANDARD 11)
-
-add_subdirectory(abseil-cpp)
-
-add_executable(my_exe source.cpp)
-target_link_libraries(my_exe absl::base absl::synchronization absl::strings)
-```
-
-### Running Abseil Tests with CMake
-
-Use the `-DABSL_RUN_TESTS=ON` flag to run Abseil tests.  Note that if the `-DBUILD_TESTING=OFF` flag is passed then Abseil tests will not be run.
-
-You will need to provide Abseil with a Googletest dependency.  There are two
-options for how to do this:
-
-* Use `-DABSL_USE_GOOGLETEST_HEAD`.  This will automatically download the latest
-Googletest source into the build directory at configure time.  Googletest will
-then be compiled directly alongside Abseil's tests.
-* Manually integrate Googletest with your build.  See
-https://github.com/google/googletest/blob/master/googletest/README.md#using-cmake
-for more information on using Googletest in a CMake project.
-
-For example, to run just the Abseil tests, you could use this script:
-
-```
-cd path/to/abseil-cpp
-mkdir build
-cd build
-cmake -DABSL_USE_GOOGLETEST_HEAD=ON -DABSL_RUN_TESTS=ON ..
-make -j
-ctest
-```
-
-Currently, we only run our tests with CMake in a Linux environment, but we are
-working on the rest of our supported platforms. See
-https://github.com/abseil/abseil-cpp/projects/1 and
-https://github.com/abseil/abseil-cpp/issues/109 for more information.
-
-### Available Abseil CMake Public Targets
-
-Here's a non-exhaustive list of Abseil CMake public targets:
-
-```cmake
-absl::algorithm
-absl::base
-absl::debugging
-absl::flat_hash_map
-absl::flags
-absl::memory
-absl::meta
-absl::numeric
-absl::random_random
-absl::strings
-absl::synchronization
-absl::time
-absl::utility
-```
diff --git a/third_party/abseil_cpp/CMake/abslConfig.cmake.in b/third_party/abseil_cpp/CMake/abslConfig.cmake.in
deleted file mode 100644
index 62d246d01e..0000000000
--- a/third_party/abseil_cpp/CMake/abslConfig.cmake.in
+++ /dev/null
@@ -1,8 +0,0 @@
-# absl CMake configuration file.
-
-include(CMakeFindDependencyMacro)
-find_dependency(Threads)
-
-@PACKAGE_INIT@
-
-include ("${CMAKE_CURRENT_LIST_DIR}/@PROJECT_NAME@Targets.cmake")
diff --git a/third_party/abseil_cpp/CMake/install_test_project/CMakeLists.txt b/third_party/abseil_cpp/CMake/install_test_project/CMakeLists.txt
deleted file mode 100644
index 06b797e9ed..0000000000
--- a/third_party/abseil_cpp/CMake/install_test_project/CMakeLists.txt
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright 2019 The Abseil Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# A simple CMakeLists.txt for testing cmake installation
-
-cmake_minimum_required(VERSION 3.5)
-project(absl_cmake_testing CXX)
-
-set(CMAKE_CXX_STANDARD 11)
-
-add_executable(simple simple.cc)
-
-find_package(absl REQUIRED)
-
-target_link_libraries(simple absl::strings)
diff --git a/third_party/abseil_cpp/CMake/install_test_project/simple.cc b/third_party/abseil_cpp/CMake/install_test_project/simple.cc
deleted file mode 100644
index e9e352912b..0000000000
--- a/third_party/abseil_cpp/CMake/install_test_project/simple.cc
+++ /dev/null
@@ -1,23 +0,0 @@
-//
-// Copyright 2019 The Abseil Authors.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//    https://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-#include <iostream>
-#include "absl/strings/substitute.h"
-
-int main(int argc, char** argv) {
-  for (int i = 0; i < argc; ++i) {
-    std::cout << absl::Substitute("Arg $0: $1\n", i, argv[i]);
-  }
-}
diff --git a/third_party/abseil_cpp/CMake/install_test_project/test.sh b/third_party/abseil_cpp/CMake/install_test_project/test.sh
deleted file mode 100755
index 99989b031d..0000000000
--- a/third_party/abseil_cpp/CMake/install_test_project/test.sh
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/bin/bash
-#
-# Copyright 2019 The Abseil Authors.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#    https://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# "Unit" and integration tests for Absl CMake installation
-
-# TODO(absl-team): This script isn't fully hermetic because
-# -DABSL_USE_GOOGLETEST_HEAD=ON means that this script isn't pinned to a fixed
-# version of GoogleTest. This means that an upstream change to GoogleTest could
-# break this test. Fix this by allowing this script to pin to a known-good
-# version of GoogleTest.
-
-# Fail on any error. Treat unset variables an error. Print commands as executed.
-set -euox pipefail
-
-install_absl() {
-  pushd "${absl_build_dir}"
-  if [[ "${#}" -eq 1 ]]; then
-    cmake -DCMAKE_INSTALL_PREFIX="${1}" "${absl_dir}"
-  else
-    cmake "${absl_dir}"
-  fi
-  cmake --build . --target install -- -j
-  popd
-}
-
-uninstall_absl() {
-  xargs rm < "${absl_build_dir}"/install_manifest.txt
-  rm -rf "${absl_build_dir}"
-  mkdir -p "${absl_build_dir}"
-}
-
-lts_install=""
-
-while getopts ":l" lts; do
-  case "${lts}" in
-    l )
-      lts_install="true"
-      ;;
-  esac
-done
-
-absl_dir=/abseil-cpp
-absl_build_dir=/buildfs/absl-build
-project_dir="${absl_dir}"/CMake/install_test_project
-project_build_dir=/buildfs/project-build
-
-mkdir -p "${absl_build_dir}"
-mkdir -p "${project_build_dir}"
-
-if [[ "${lts_install}" ]]; then
-  install_dir="/usr/local"
-else
-  install_dir="${project_build_dir}"/install
-fi
-mkdir -p "${install_dir}"
-
-# Test build, install, and link against installed abseil
-pushd "${project_build_dir}"
-if [[ "${lts_install}" ]]; then
-  install_absl
-  cmake "${project_dir}"
-else
-  install_absl "${install_dir}"
-  cmake "${project_dir}" -DCMAKE_PREFIX_PATH="${install_dir}"
-fi
-
-cmake --build . --target simple
-
-output="$(${project_build_dir}/simple "printme" 2>&1)"
-if [[ "${output}" != *"Arg 1: printme"* ]]; then
-  echo "Faulty output on simple project:"
-  echo "${output}"
-  exit 1
-fi
-
-popd
-
-# Test that we haven't accidentally made absl::abslblah
-pushd "${install_dir}"
-
-# Starting in CMake 3.12 the default install dir is lib$bit_width
-if [[ -d lib64 ]]; then
-  libdir="lib64"
-elif [[ -d lib ]]; then
-  libdir="lib"
-else
-  echo "ls *, */*, */*/*:"
-  ls *
-  ls */*
-  ls */*/*
-  echo "unknown lib dir"
-fi
-
-if [[ "${lts_install}" ]]; then
-  # LTS versions append the date of the release to the subdir.
-  # 9999/99/99 is the dummy date used in the local_lts workflow.
-  absl_subdir="absl_99999999"
-else
-  absl_subdir="absl"
-fi
-
-if ! grep absl::strings "${libdir}/cmake/${absl_subdir}/abslTargets.cmake"; then
-  cat "${libdir}"/cmake/absl/abslTargets.cmake
-  echo "CMake targets named incorrectly"
-  exit 1
-fi
-
-uninstall_absl
-popd
-
-if [[ ! "${lts_install}" ]]; then
-  # Test that we warn if installed without a prefix or a system prefix
-  output="$(install_absl 2>&1)"
-  if [[ "${output}" != *"Please set CMAKE_INSTALL_PREFIX"* ]]; then
-    echo "Install without prefix didn't warn as expected. Output:"
-    echo "${output}"
-    exit 1
-  fi
-  uninstall_absl
-
-  output="$(install_absl /usr 2>&1)"
-  if [[ "${output}" != *"Please set CMAKE_INSTALL_PREFIX"* ]]; then
-    echo "Install with /usr didn't warn as expected. Output:"
-    echo "${output}"
-    exit 1
-  fi
-  uninstall_absl
-fi
-
-echo "Install test complete!"
-exit 0