summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/protobuf/msvc-abseil-target-namespace.patch13
-rw-r--r--var/spack/repos/builtin/packages/protobuf/package.py2
2 files changed, 15 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/protobuf/msvc-abseil-target-namespace.patch b/var/spack/repos/builtin/packages/protobuf/msvc-abseil-target-namespace.patch
new file mode 100644
index 0000000000..0cb9e3d4af
--- /dev/null
+++ b/var/spack/repos/builtin/packages/protobuf/msvc-abseil-target-namespace.patch
@@ -0,0 +1,13 @@
+diff --git a/cmake/abseil-cpp.cmake b/cmake/abseil-cpp.cmake
+index e7bfb2b15..61fcd678d 100644
+--- a/cmake/abseil-cpp.cmake
++++ b/cmake/abseil-cpp.cmake
+@@ -39,7 +39,7 @@ set(_protobuf_FIND_ABSL "if(NOT TARGET absl::strings)\n find_package(absl CONFI
+
+ if (BUILD_SHARED_LIBS AND MSVC)
+ # On MSVC Abseil is bundled into a single DLL.
+- set(protobuf_ABSL_USED_TARGETS abseil_dll)
++ set(protobuf_ABSL_USED_TARGETS absl::abseil_dll)
+
+ set(protobuf_ABSL_USED_TEST_TARGETS abseil_test_dll)
+ else()
diff --git a/var/spack/repos/builtin/packages/protobuf/package.py b/var/spack/repos/builtin/packages/protobuf/package.py
index a7bab9e6b8..295e57850e 100644
--- a/var/spack/repos/builtin/packages/protobuf/package.py
+++ b/var/spack/repos/builtin/packages/protobuf/package.py
@@ -102,6 +102,8 @@ class Protobuf(CMakePackage):
sha256="fa1abf042eddc1b3b43875dc018c651c90cd1c0c5299975a818a1610bee54ab8",
)
+ patch("msvc-abseil-target-namespace.patch", when="@3.22 %msvc")
+
def fetch_remote_versions(self, *args, **kwargs):
"""Ignore additional source artifacts uploaded with releases,
only keep known versions