Repository: conan-io/conan-center-index

Issue:
- [google-cloud-cpp] check GCC 11
for #9679 

Specify library name and version:  **google-cloud-cpp/all**

This is also a good place to share with all of us **why you are submitting this PR** (specially if it is a new addition to ConanCenter): is it a dependency of other libraries you want to package? Are you the author of the library? Thanks!

---

- [ ] I've read the [guidelines](https://github.com/conan-io/conan-center-index/blob/master/docs/how_to_add_packages.md) for contributing.
- [ ] I've followed the [PEP8](https://www.python.org/dev/peps/pep-0008/) style guides for Python code in the recipes.
- [ ] I've used the [latest](https://github.com/conan-io/conan/releases/latest) Conan client version.
- [ ] I've tried at least one configuration locally with the
      [conan-center hook](https://github.com/conan-io/hooks.git) activated.



Discussion:
Failure in build 1 (`27243f4fb9909b2e8153ac163f1f67867b8fb50f`):

 * **google-cloud-cpp/1.26.1@:**
   Error running command `conan export recipes/google-cloud-cpp/all/conanfile.py google-cloud-cpp/1.26.1@`:
   ```
   [HOOK - conan-center.py] pre_export(): [DEPRECATED GLOBAL CPPSTD (KB-H001)] OK
   [HOOK - conan-center.py] pre_export(): [REFERENCE LOWERCASE (KB-H002)] OK
   [HOOK - conan-center.py] pre_export(): [RECIPE METADATA (KB-H003)] OK
   [HOOK - conan-center.py] pre_export(): [HEADER_ONLY, NO COPY SOURCE (KB-H005)] OK
   [HOOK - conan-center.py] pre_export(): [FPIC OPTION (KB-H006)] OK
   [HOOK - conan-center.py] pre_export(): [VERSION RANGES (KB-H008)] OK
   [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] Total recipe size: 31.5830078125 KB
   [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] OK
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE FOLDER (KB-H024)] OK
   [HOOK - conan-center.py] pre_export(): [META LINES (KB-H025)] OK
   [HOOK - conan-center.py] pre_export(): [CONAN CENTER INDEX URL (KB-H027)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE MINIMUM VERSION (KB-H028)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - RUN ENVIRONMENT (KB-H029)] OK
   [HOOK - conan-center.py] pre_export(): [SYSTEM REQUIREMENTS (KB-H032)] OK
   [HOOK - conan-center.py] pre_export(): [CONANDATA.YML FORMAT (KB-H030)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - NO IMPORTS() (KB-H034)] OK
   [HOOK - conan-center.py] pre_export(): [NO AUTHOR (KB-H037)] OK
   [HOOK - conan-center.py] pre_export(): [NOT ALLOWED ATTRIBUTES (KB-H039)] OK
   [HOOK - conan-center.py] pre_export(): [NO TARGET NAME (KB-H040)] OK
   [HOOK - conan-center.py] pre_export(): [NO FINAL ENDLINE (KB-H041)] OK
   [HOOK - conan-center.py] pre_export(): [NO REQUIRES.ADD() (KB-H044)] OK
   [HOOK - conan-center.py] pre_export(): [DELETE OPTIONS (KB-H045)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE VERBOSE MAKEFILE (KB-H046)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE VERSION REQUIRED (KB-H048)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE WINDOWS EXPORT ALL SYMBOLS (KB-H049)] OK
   [HOOK - conan-center.py] pre_export(): [DEFAULT OPTIONS AS DICTIONARY (KB-H051)] OK
   [HOOK - conan-center.py] pre_export(): [CONFIG.YML HAS NEW VERSION (KB-H052)] OK
   [HOOK - conan-center.py] pre_export(): [PRIVATE IMPORTS (KB-H053)] OK
   [HOOK - conan-center.py] pre_export(): [SINGLE REQUIRES (KB-H055)] OK
   [HOOK - conan-center.py] pre_export(): [TOOLS RENAME (KB-H057)] OK
   [HOOK - conan-center.py] pre_export(): [ILLEGAL CHARACTERS (KB-H058)] OK
   [HOOK - conan-center.py] pre_export(): [CLASS NAME (KB-H059)] OK
   [HOOK - conan-center.py] pre_export(): [NO CRLF (KB-H060)] OK
   [HOOK - conan-center.py] pre_export(): [NO BUILD SYSTEM FUNCTIONS (KB-H061)] OK
   [HOOK - conan-center.py] pre_export(): [TOOLS CROSS BUILDING (KB-H062)] OK
   [HOOK - conan-center.py] pre_export(): [INVALID TOPICS (KB-H064)] OK
   [HOOK - conan-center.py] pre_export(): [NO REQUIRED_CONAN_VERSION (KB-H065)] OK
   [HOOK - conan-center.py] pre_export(): [TEST_TYPE MANAGEMENT (KB-H068)] OK
   Exporting package recipe
   google-cloud-cpp/1.26.1 exports: File 'conandata.yml' found. Exporting it...
   google-cloud-cpp/1.26.1 exports: Copied 1 '.yml' file: conandata.yml
   google-cloud-cpp/1.26.1: Calling export_sources()
   ERROR: google-cloud-cpp/1.26.1: Error in export_sources() method, line 35
   	self.coopy("CMakeLists.txt")
   	AttributeError: 'GoogleCloudCppConan' object has no attribute 'coopy'
   ```

 * **google-cloud-cpp/1.27.0@:**
   Error running command `conan export recipes/google-cloud-cpp/all/conanfile.py google-cloud-cpp/1.27.0@`:
   ```
   [HOOK - conan-center.py] pre_export(): [DEPRECATED GLOBAL CPPSTD (KB-H001)] OK
   [HOOK - conan-center.py] pre_export(): [REFERENCE LOWERCASE (KB-H002)] OK
   [HOOK - conan-center.py] pre_export(): [RECIPE METADATA (KB-H003)] OK
   [HOOK - conan-center.py] pre_export(): [HEADER_ONLY, NO COPY SOURCE (KB-H005)] OK
   [HOOK - conan-center.py] pre_export(): [FPIC OPTION (KB-H006)] OK
   [HOOK - conan-center.py] pre_export(): [VERSION RANGES (KB-H008)] OK
   [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] Total recipe size: 31.5830078125 KB
   [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] OK
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE FOLDER (KB-H024)] OK
   [HOOK - conan-center.py] pre_export(): [META LINES (KB-H025)] OK
   [HOOK - conan-center.py] pre_export(): [CONAN CENTER INDEX URL (KB-H027)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE MINIMUM VERSION (KB-H028)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - RUN ENVIRONMENT (KB-H029)] OK
   [HOOK - conan-center.py] pre_export(): [SYSTEM REQUIREMENTS (KB-H032)] OK
   [HOOK - conan-center.py] pre_export(): [CONANDATA.YML FORMAT (KB-H030)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - NO IMPORTS() (KB-H034)] OK
   [HOOK - conan-center.py] pre_export(): [NO AUTHOR (KB-H037)] OK
   [HOOK - conan-center.py] pre_export(): [NOT ALLOWED ATTRIBUTES (KB-H039)] OK
   [HOOK - conan-center.py] pre_export(): [NO TARGET NAME (KB-H040)] OK
   [HOOK - conan-center.py] pre_export(): [NO FINAL ENDLINE (KB-H041)] OK
   [HOOK - conan-center.py] pre_export(): [NO REQUIRES.ADD() (KB-H044)] OK
   [HOOK - conan-center.py] pre_export(): [DELETE OPTIONS (KB-H045)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE VERBOSE MAKEFILE (KB-H046)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE VERSION REQUIRED (KB-H048)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE WINDOWS EXPORT ALL SYMBOLS (KB-H049)] OK
   [HOOK - conan-center.py] pre_export(): [DEFAULT OPTIONS AS DICTIONARY (KB-H051)] OK
   [HOOK - conan-center.py] pre_export(): [CONFIG.YML HAS NEW VERSION (KB-H052)] OK
   [HOOK - conan-center.py] pre_export(): [PRIVATE IMPORTS (KB-H053)] OK
   [HOOK - conan-center.py] pre_export(): [SINGLE REQUIRES (KB-H055)] OK
   [HOOK - conan-center.py] pre_export(): [TOOLS RENAME (KB-H057)] OK
   [HOOK - conan-center.py] pre_export(): [ILLEGAL CHARACTERS (KB-H058)] OK
   [HOOK - conan-center.py] pre_export(): [CLASS NAME (KB-H059)] OK
   [HOOK - conan-center.py] pre_export(): [NO CRLF (KB-H060)] OK
   [HOOK - conan-center.py] pre_export(): [NO BUILD SYSTEM FUNCTIONS (KB-H061)] OK
   [HOOK - conan-center.py] pre_export(): [TOOLS CROSS BUILDING (KB-H062)] OK
   [HOOK - conan-center.py] pre_export(): [INVALID TOPICS (KB-H064)] OK
   [HOOK - conan-center.py] pre_export(): [NO REQUIRED_CONAN_VERSION (KB-H065)] OK
   [HOOK - conan-center.py] pre_export(): [TEST_TYPE MANAGEMENT (KB-H068)] OK
   Exporting package recipe
   google-cloud-cpp/1.27.0 exports: File 'conandata.yml' found. Exporting it...
   google-cloud-cpp/1.27.0 exports: Copied 1 '.yml' file: conandata.yml
   google-cloud-cpp/1.27.0: Calling export_sources()
   ERROR: google-cloud-cpp/1.27.0: Error in export_sources() method, line 35
   	self.coopy("CMakeLists.txt")
   	AttributeError: 'GoogleCloudCppConan' object has no attribute 'coopy'
   ```

 * **google-cloud-cpp/1.30.1@:**
   Error running command `conan export recipes/google-cloud-cpp/all/conanfile.py google-cloud-cpp/1.30.1@`:
   ```
   [HOOK - conan-center.py] pre_export(): [DEPRECATED GLOBAL CPPSTD (KB-H001)] OK
   [HOOK - conan-center.py] pre_export(): [REFERENCE LOWERCASE (KB-H002)] OK
   [HOOK - conan-center.py] pre_export(): [RECIPE METADATA (KB-H003)] OK
   [HOOK - conan-center.py] pre_export(): [HEADER_ONLY, NO COPY SOURCE (KB-H005)] OK
   [HOOK - conan-center.py] pre_export(): [FPIC OPTION (KB-H006)] OK
   [HOOK - conan-center.py] pre_export(): [VERSION RANGES (KB-H008)] OK
   [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] Total recipe size: 31.5830078125 KB
   [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] OK
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE FOLDER (KB-H024)] OK
   [HOOK - conan-center.py] pre_export(): [META LINES (KB-H025)] OK
   [HOOK - conan-center.py] pre_export(): [CONAN CENTER INDEX URL (KB-H027)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE MINIMUM VERSION (KB-H028)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - RUN ENVIRONMENT (KB-H029)] OK
   [HOOK - conan-center.py] pre_export(): [SYSTEM REQUIREMENTS (KB-H032)] OK
   [HOOK - conan-center.py] pre_export(): [CONANDATA.YML FORMAT (KB-H030)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - NO IMPORTS() (KB-H034)] OK
   [HOOK - conan-center.py] pre_export(): [NO AUTHOR (KB-H037)] OK
   [HOOK - conan-center.py] pre_export(): [NOT ALLOWED ATTRIBUTES (KB-H039)] OK
   [HOOK - conan-center.py] pre_export(): [NO TARGET NAME (KB-H040)] OK
   [HOOK - conan-center.py] pre_export(): [NO FINAL ENDLINE (KB-H041)] OK
   [HOOK - conan-center.py] pre_export(): [NO REQUIRES.ADD() (KB-H044)] OK
   [HOOK - conan-center.py] pre_export(): [DELETE OPTIONS (KB-H045)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE VERBOSE MAKEFILE (KB-H046)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE VERSION REQUIRED (KB-H048)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE WINDOWS EXPORT ALL SYMBOLS (KB-H049)] OK
   [HOOK - conan-center.py] pre_export(): [DEFAULT OPTIONS AS DICTIONARY (KB-H051)] OK
   [HOOK - conan-center.py] pre_export(): [CONFIG.YML HAS NEW VERSION (KB-H052)] OK
   [HOOK - conan-center.py] pre_export(): [PRIVATE IMPORTS (KB-H053)] OK
   [HOOK - conan-center.py] pre_export(): [SINGLE REQUIRES (KB-H055)] OK
   [HOOK - conan-center.py] pre_export(): [TOOLS RENAME (KB-H057)] OK
   [HOOK - conan-center.py] pre_export(): [ILLEGAL CHARACTERS (KB-H058)] OK
   [HOOK - conan-center.py] pre_export(): [CLASS NAME (KB-H059)] OK
   [HOOK - conan-center.py] pre_export(): [NO CRLF (KB-H060)] OK
   [HOOK - conan-center.py] pre_export(): [NO BUILD SYSTEM FUNCTIONS (KB-H061)] OK
   [HOOK - conan-center.py] pre_export(): [TOOLS CROSS BUILDING (KB-H062)] OK
   [HOOK - conan-center.py] pre_export(): [INVALID TOPICS (KB-H064)] OK
   [HOOK - conan-center.py] pre_export(): [NO REQUIRED_CONAN_VERSION (KB-H065)] OK
   [HOOK - conan-center.py] pre_export(): [TEST_TYPE MANAGEMENT (KB-H068)] OK
   Exporting package recipe
   google-cloud-cpp/1.30.1 exports: File 'conandata.yml' found. Exporting it...
   google-cloud-cpp/1.30.1 exports: Copied 1 '.yml' file: conandata.yml
   google-cloud-cpp/1.30.1: Calling export_sources()
   ERROR: google-cloud-cpp/1.30.1: Error in export_sources() method, line 35
   	self.coopy("CMakeLists.txt")
   	AttributeError: 'GoogleCloudCppConan' object has no attribute 'coopy'
   ```

 * **google-cloud-cpp/1.31.1@:**
   Error running command `conan export recipes/google-cloud-cpp/all/conanfile.py google-cloud-cpp/1.31.1@`:
   ```
   [HOOK - conan-center.py] pre_export(): [DEPRECATED GLOBAL CPPSTD (KB-H001)] OK
   [HOOK - conan-center.py] pre_export(): [REFERENCE LOWERCASE (KB-H002)] OK
   [HOOK - conan-center.py] pre_export(): [RECIPE METADATA (KB-H003)] OK
   [HOOK - conan-center.py] pre_export(): [HEADER_ONLY, NO COPY SOURCE (KB-H005)] OK
   [HOOK - conan-center.py] pre_export(): [FPIC OPTION (KB-H006)] OK
   [HOOK - conan-center.py] pre_export(): [VERSION RANGES (KB-H008)] OK
   [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] Total recipe size: 31.5830078125 KB
   [HOOK - conan-center.py] pre_export(): [RECIPE FOLDER SIZE (KB-H009)] OK
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] exports: None
   [HOOK - conan-center.py] pre_export(): [EXPORT LICENSE (KB-H023)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE FOLDER (KB-H024)] OK
   [HOOK - conan-center.py] pre_export(): [META LINES (KB-H025)] OK
   [HOOK - conan-center.py] pre_export(): [CONAN CENTER INDEX URL (KB-H027)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE MINIMUM VERSION (KB-H028)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - RUN ENVIRONMENT (KB-H029)] OK
   [HOOK - conan-center.py] pre_export(): [SYSTEM REQUIREMENTS (KB-H032)] OK
   [HOOK - conan-center.py] pre_export(): [CONANDATA.YML FORMAT (KB-H030)] OK
   [HOOK - conan-center.py] pre_export(): [TEST PACKAGE - NO IMPORTS() (KB-H034)] OK
   [HOOK - conan-center.py] pre_export(): [NO AUTHOR (KB-H037)] OK
   [HOOK - conan-center.py] pre_export(): [NOT ALLOWED ATTRIBUTES (KB-H039)] OK
   [HOOK - conan-center.py] pre_export(): [NO TARGET NAME (KB-H040)] OK
   [HOOK - conan-center.py] pre_export(): [NO FINAL ENDLINE (KB-H041)] OK
   [HOOK - conan-center.py] pre_export(): [NO REQUIRES.ADD() (KB-H044)] OK
   [HOOK - conan-center.py] pre_export(): [DELETE OPTIONS (KB-H045)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE VERBOSE MAKEFILE (KB-H046)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE VERSION REQUIRED (KB-H048)] OK
   [HOOK - conan-center.py] pre_export(): [CMAKE WINDOWS EXPORT ALL SYMBOLS (KB-H049)] OK
   [HOOK - conan-center.py] pre_export(): [DEFAULT OPTIONS AS DICTIONARY (KB-H051)] OK
   [HOOK - conan-center.py] pre_export(): [CONFIG.YML HAS NEW VERSION (KB-H052)] OK
   [HOOK - conan-center.py] pre_export(): [PRIVATE IMPORTS (KB-H053)] OK
   [HOOK - conan-center.py] pre_export(): [SINGLE REQUIRES (KB-H055)] OK
   [HOOK - conan-center.py] pre_export(): [TOOLS RENAME (KB-H057)] OK
   [HOOK - conan-center.py] pre_export(): [ILLEGAL CHARACTERS (KB-H058)] OK
   [HOOK - conan-center.py] pre_export(): [CLASS NAME (KB-H059)] OK
   [HOOK - conan-center.py] pre_export(): [NO CRLF (KB-H060)] OK
   [HOOK - conan-center.py] pre_export(): [NO BUILD SYSTEM FUNCTIONS (KB-H061)] OK
   [HOOK - conan-center.py] pre_export(): [TOOLS CROSS BUILDING (KB-H062)] OK
   [HOOK - conan-center.py] pre_export(): [INVALID TOPICS (KB-H064)] OK
   [HOOK - conan-center.py] pre_export(): [NO REQUIRED_CONAN_VERSION (KB-H065)] OK
   [HOOK - conan-center.py] pre_export(): [TEST_TYPE MANAGEMENT (KB-H068)] OK
   Exporting package recipe
   google-cloud-cpp/1.31.1 exports: File 'conandata.yml' found. Exporting it...
   google-cloud-cpp/1.31.1 exports: Copied 1 '.yml' file: conandata.yml
   google-cloud-cpp/1.31.1: Calling export_sources()
   ERROR: google-cloud-cpp/1.31.1: Error in export_sources() method, line 35
   	self.coopy("CMakeLists.txt")
   	AttributeError: 'GoogleCloudCppConan' object has no attribute 'coopy'
   ```

---

<sup>**Note:** To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.</sup>

Resolving patch:
diff --git a/recipes/google-cloud-cpp/all/conanfile.py b/recipes/google-cloud-cpp/all/conanfile.py
--- a/recipes/google-cloud-cpp/all/conanfile.py
+++ b/recipes/google-cloud-cpp/all/conanfile.py
@@ -1,5 +1,6 @@
 import os
 import textwrap
+import functools
 
 from conans import ConanFile, CMake, tools
 from conans.errors import ConanInvalidConfiguration
@@ -13,7 +14,6 @@ class GoogleCloudCppConan(ConanFile):
     topics = "google", "cloud", "google-cloud-storage", "google-cloud-platform", "google-cloud-pubsub", "google-cloud-spanner", "google-cloud-bigtable"
     homepage = "https://github.com/googleapis/google-cloud-cpp"
     url = "https://github.com/conan-io/conan-center-index"
-    exports_sources = ["CMakeLists.txt", "patches/*"]
     generators = "cmake", "cmake_find_package_multi", "cmake_find_package"
     settings = "os", "arch", "compiler", "build_type"
     options = {
@@ -32,6 +32,11 @@ class GoogleCloudCppConan(ConanFile):
     def _source_subfolder(self):
         return "source_subfolder"
 
+    def export_sources(self):
+        self.copy("CMakeLists.txt")
+        for patch in self.conan_data.get("patches", {}).get(self.version, []):
+            self.copy(patch["patch_file"])
+
     def config_options(self):
         if self.settings.os == "Windows":
             del self.options.fPIC
@@ -65,51 +70,53 @@ def source(self):
         tools.get(**self.conan_data["sources"][self.version], destination=self._source_subfolder, strip_root=True)
 
     def requirements(self):
-        self.requires('protobuf/3.19.2')
-        self.requires('grpc/1.39.1')
-        self.requires('nlohmann_json/3.10.2')
-        self.requires('crc32c/1.1.1')
+        self.requires('protobuf/3.20.0')
+        self.requires('grpc/1.45.2')
+        self.requires('nlohmann_json/3.10.5')
+        self.requires('crc32c/1.1.2')
         self.requires('abseil/20211102.0')
-        self.requires('libcurl/7.78.0')
-        self.requires('openssl/1.1.1m')
+        self.requires('libcurl/7.80.0')
+        self.requires('openssl/1.1.1n')
         # TODO: Add googleapis once it is available in CCI (now it is embedded)
 
+    @functools.lru_cache(1)
     def _configure_cmake(self):
-        if self._cmake:
-            return self._cmake
-        self._cmake = CMake(self)
-        self._cmake.definitions["BUILD_TESTING"] = 0
-
-        self._cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK"] = False
-
-        self._cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_BIGTABLE"] = True
-        self._cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_BIGQUERY"] = True
-        self._cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_SPANNER"] = True
-        self._cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_STORAGE"] = True
-        self._cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_FIRESTORE"] = True
-        self._cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_PUBSUB"] = True
-        self._cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_IAM"] = True
-        self._cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_LOGGING"] = True
-        self._cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_GENERATOR"] = True
-
-        self._cmake.configure()
-        return self._cmake
+        # Do not build in parallel for certain configurations, it fails writting/reading files at the same time
+        parallel = not (self.settings.compiler == "Visual Studio" and self.settings.compiler.version == "16" and self.version in ["1.31.1", "1.30.1"])
+        cmake = CMake(self, parallel=parallel)
+        cmake.definitions["BUILD_TESTING"] = 0
+
+        cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_MACOS_OPENSSL_CHECK"] = False
+
+        cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_BIGTABLE"] = True
+        cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_BIGQUERY"] = True
+        cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_SPANNER"] = True
+        cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_STORAGE"] = True
+        cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_FIRESTORE"] = True
+        cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_PUBSUB"] = True
+        cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_IAM"] = True
+        cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_LOGGING"] = True
+        cmake.definitions["GOOGLE_CLOUD_CPP_ENABLE_GENERATOR"] = True
+
+        cmake.configure()
+        return cmake
 
     def _patch_sources(self):
         for patch in self.conan_data.get("patches", {}).get(self.version, []):
             tools.patch(**patch)
 
-        # Do not override CMAKE_CXX_STANDARD if provided
-        tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"),
-            textwrap.dedent("""\
-                set(CMAKE_CXX_STANDARD
-                    11
-                    CACHE STRING "Configure the C++ standard version for all targets.")"""),
-            textwrap.dedent("""\
-                if(NOT "${CMAKE_CXX_STANDARD}")
-                    set(CMAKE_CXX_STANDARD 11 CACHE STRING "Configure the C++ standard version for all targets.")
-                endif()
-                """))
+        if tools.Version(self.version) < "1.33.0":
+            # Do not override CMAKE_CXX_STANDARD if provided
+            tools.replace_in_file(os.path.join(self._source_subfolder, "CMakeLists.txt"),
+                textwrap.dedent("""\
+                    set(CMAKE_CXX_STANDARD
+                        11
+                        CACHE STRING "Configure the C++ standard version for all targets.")"""),
+                textwrap.dedent("""\
+                    if(NOT "${CMAKE_CXX_STANDARD}")
+                        set(CMAKE_CXX_STANDARD 11 CACHE STRING "Configure the C++ standard version for all targets.")
+                    endif()
+                    """))
 
     def build(self):
         self._patch_sources()
@@ -136,11 +143,11 @@ def package_info(self):
         self.cpp_info.components["bigtable"].libs = ["google_cloud_cpp_bigtable"]
         self.cpp_info.components["bigtable"].names["pkg_config"] = "google_cloud_cpp_bigtable"
 
-        self.cpp_info.components["experimental-firestore"].requires = ["common"]
-        self.cpp_info.components["experimental-firestore"].libs = ["google_cloud_cpp_firestore"]
-        self.cpp_info.components["experimental-firestore"].names["pkg_config"] = "google_cloud_cpp_firestore"
-        
-
+        if tools.Version(self.version) < "1.40.1":  # FIXME: Probably this library was removed before
+            self.cpp_info.components["experimental-firestore"].requires = ["common"]
+            self.cpp_info.components["experimental-firestore"].libs = ["google_cloud_cpp_firestore"]
+            self.cpp_info.components["experimental-firestore"].names["pkg_config"] = "google_cloud_cpp_firestore"
+            
         self.cpp_info.components["bigtable_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos", "iam_v1_iam_policy_protos", "iam_v1_policy_protos", "longrunning_operations_protos", "rpc_status_protos", "api_auth_protos"]
         self.cpp_info.components["bigtable_protos"].libs = ["google_cloud_cpp_bigtable_protos"]
         self.cpp_info.components["bigtable_protos"].names["pkg_config"] = "google_cloud_cpp_bigtable_protos"
@@ -229,11 +236,19 @@ def package_info(self):
         self.cpp_info.components["devtools_cloudtrace_v2_tracing_protos"].libs = ["google_cloud_cpp_devtools_cloudtrace_v2_tracing_protos"]
         self.cpp_info.components["devtools_cloudtrace_v2_tracing_protos"].names["pkg_config"] = "google_cloud_cpp_devtools_cloudtrace_v2_tracing_protos"
 
-        self.cpp_info.components["logging_type_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos"]
-        self.cpp_info.components["logging_type_protos"].libs = ["google_cloud_cpp_logging_type_protos"]
-        self.cpp_info.components["logging_type_protos"].names["pkg_config"] = "google_cloud_cpp_logging_type_protos"
-
-        self.cpp_info.components["logging_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_distribution_protos", "api_field_behavior_protos", "api_metric_protos", "api_monitored_resource_protos", "api_resource_protos", "logging_type_protos", "rpc_status_protos"]
+        cmp_logging_type_type_protos = None
+        if tools.Version(self.version) < "1.40.1":  # FIXME: Probably this library was removed before
+            cmp_logging_type_type_protos = "logging_type_protos"
+            self.cpp_info.components[cmp_logging_type_type_protos].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos"]
+            self.cpp_info.components[cmp_logging_type_type_protos].libs = ["google_cloud_cpp_logging_type_protos"]
+            self.cpp_info.components[cmp_logging_type_type_protos].names["pkg_config"] = "google_cloud_cpp_logging_type_protos"
+        else:
+            cmp_logging_type_type_protos = "logging_type_type_protos"
+            self.cpp_info.components[cmp_logging_type_type_protos].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos"]
+            self.cpp_info.components[cmp_logging_type_type_protos].libs = ["google_cloud_cpp_logging_type_type_protos"]
+            self.cpp_info.components[cmp_logging_type_type_protos].names["pkg_config"] = "google_cloud_cpp_logging_type_type_protos"
+
+        self.cpp_info.components["logging_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_distribution_protos", "api_field_behavior_protos", "api_metric_protos", "api_monitored_resource_protos", "api_resource_protos", cmp_logging_type_type_protos, "rpc_status_protos"]
         self.cpp_info.components["logging_protos"].libs = ["google_cloud_cpp_logging_protos"]
         self.cpp_info.components["logging_protos"].names["pkg_config"] = "google_cloud_cpp_logging_protos"
 
@@ -329,9 +344,10 @@ def package_info(self):
         self.cpp_info.components["cloud_dialogflow_v2_protos"].libs = ["google_cloud_cpp_cloud_dialogflow_v2_protos"]
         self.cpp_info.components["cloud_dialogflow_v2_protos"].names["pkg_config"] = "google_cloud_cpp_cloud_dialogflow_v2_protos"
 
-        self.cpp_info.components["cloud_dialogflow_v2beta1_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos", "longrunning_operations_protos", "rpc_status_protos", "type_latlng_protos"]
-        self.cpp_info.components["cloud_dialogflow_v2beta1_protos"].libs = ["google_cloud_cpp_cloud_dialogflow_v2beta1_protos"]
-        self.cpp_info.components["cloud_dialogflow_v2beta1_protos"].names["pkg_config"] = "google_cloud_cpp_cloud_dialogflow_v2beta1_protos"
+        if tools.Version(self.version) < "1.40.1":  # FIXME: Probably this library was removed before
+            self.cpp_info.components["cloud_dialogflow_v2beta1_protos"].requires = ["grpc::grpc++", "grpc::grpc", "protobuf::libprotobuf", "api_annotations_protos", "api_client_protos", "api_field_behavior_protos", "api_resource_protos", "longrunning_operations_protos", "rpc_status_protos", "type_latlng_protos"]
+            self.cpp_info.components["cloud_dialogflow_v2beta1_protos"].libs = ["google_cloud_cpp_cloud_dialogflow_v2beta1_protos"]
+            self.cpp_info.components["cloud_dialogflow_v2beta1_protos"].names["pkg_config"] = "google_cloud_cpp_cloud_dialogflow_v2beta1_protos"
 
         self.cpp_info.components["grpc_utils"].requires = ["abseil::absl_function_ref", "abseil::absl_memory", "abseil::absl_time", "rpc_status_protos", "common", "grpc::grpc++", "grpc::grpc"]
         self.cpp_info.components["grpc_utils"].libs = ["google_cloud_cpp_grpc_utils"]


Test patch: