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