Abseil LTS 20210324, Patch 1 (#943)

* Add missing `add_subdirectory()` call for "cleanup" (#925)

Since `absl::Cleanup` is now public, it should also be included
in the `absl/CMakeLists.txt` file.

Signed-off-by: Christian Blichmann <cblichmann@google.com>

* Correctly install pkgconfig files under CMAKE_INSTALL_LIBDIR
Fixes #931

PiperOrigin-RevId: 366816645

* AbseilConfigureCopts.cmake: fix AppleClang detection

restore use of MATCHES in comparison with "Clang"; this was lost in:

commit 22771d471930ce88e1e75d0ca9dd8c65a7b0f895
  ...
  24e1f5f72756046f5265abf618e951c341f09b8d by Derek Mauro <dmauro@google.com>:

  Fixes failing CMake string comparisons
  https://cmake.org/cmake/help/latest/policy/CMP0054.html

fixes:
CMake Warning at absl/copts/AbseilConfigureCopts.cmake:61 (message):
  Unknown compiler:
  /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++.
  Building with no default flags

Fixes #930

PiperOrigin-RevId: 366879337

* Increment SOVERSION to 2103.0.1

Co-authored-by: Christian Blichmann <cblichmann@users.noreply.github.com>
Co-authored-by: Abseil Team <absl-team@google.com>
diff --git a/CMake/AbseilHelpers.cmake b/CMake/AbseilHelpers.cmake
index 70eaa4c..54fb8df 100644
--- a/CMake/AbseilHelpers.cmake
+++ b/CMake/AbseilHelpers.cmake
@@ -181,7 +181,7 @@
 Libs: -L\${libdir} $<JOIN:${ABSL_CC_LIB_LINKOPTS}, > $<$<NOT:$<BOOL:${ABSL_CC_LIB_IS_INTERFACE}>>:-labsl_${_NAME}>\n\
 Cflags: -I\${includedir}${PC_CFLAGS}\n")
       INSTALL(FILES "${CMAKE_BINARY_DIR}/lib/pkgconfig/absl_${_NAME}.pc"
-              DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+              DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
     endif()
   endif()
 
@@ -263,7 +263,7 @@
     if(ABSL_ENABLE_INSTALL)
       set_target_properties(${_NAME} PROPERTIES
         OUTPUT_NAME "absl_${_NAME}"
-        SOVERSION "2103.0.0"
+        SOVERSION "2103.0.1"
       )
     endif()
   else()
diff --git a/absl/CMakeLists.txt b/absl/CMakeLists.txt
index fbfa782..a41e1ee 100644
--- a/absl/CMakeLists.txt
+++ b/absl/CMakeLists.txt
@@ -16,6 +16,7 @@
 
 add_subdirectory(base)
 add_subdirectory(algorithm)
+add_subdirectory(cleanup)
 add_subdirectory(container)
 add_subdirectory(debugging)
 add_subdirectory(flags)
diff --git a/absl/copts/AbseilConfigureCopts.cmake b/absl/copts/AbseilConfigureCopts.cmake
index 9cd6fd1..942ce90 100644
--- a/absl/copts/AbseilConfigureCopts.cmake
+++ b/absl/copts/AbseilConfigureCopts.cmake
@@ -35,8 +35,7 @@
 if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
   set(ABSL_DEFAULT_COPTS "${ABSL_GCC_FLAGS}")
   set(ABSL_TEST_COPTS "${ABSL_GCC_FLAGS};${ABSL_GCC_TEST_FLAGS}")
-elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
-  # MATCHES so we get both Clang and AppleClang
+elseif(CMAKE_CXX_COMPILER_ID MATCHES "Clang")  # MATCHES so we get both Clang and AppleClang
   if(MSVC)
     # clang-cl is half MSVC, half LLVM
     set(ABSL_DEFAULT_COPTS "${ABSL_CLANG_CL_FLAGS}")