From ed07cee85232f52bf20d6c2fadc43ee9a6f614da Mon Sep 17 00:00:00 2001 From: Alex Richert <82525672+AlexanderRichert-NOAA@users.noreply.github.com> Date: Wed, 1 Mar 2023 15:28:46 -0800 Subject: Add capitalized symlinks for libesmf.{a,so} (#35774) * Add capitalized symlinks for libesmf.{a,so} * Add import of lib suffixes --- var/spack/repos/builtin/packages/esmf/package.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/var/spack/repos/builtin/packages/esmf/package.py b/var/spack/repos/builtin/packages/esmf/package.py index a0ee9452ad..3b922f14f2 100644 --- a/var/spack/repos/builtin/packages/esmf/package.py +++ b/var/spack/repos/builtin/packages/esmf/package.py @@ -5,6 +5,7 @@ import os +from spack.build_environment import dso_suffix, stat_suffix from spack.package import * @@ -345,8 +346,14 @@ class Esmf(MakefilePackage): env.set("ESMF_SHARED_LIB_BUILD", "OFF") @run_after("install") - def install_findesmf(self): + def post_install(self): install_tree("cmake", self.prefix.cmake) + # Several applications using ESMF are affected by CMake capitalization + # issue. The following fix allows all apps to use as-is. + for prefix in [dso_suffix, stat_suffix]: + library_path = os.path.join(self.prefix.lib, "libesmf.%s" % prefix) + if os.path.exists(library_path): + os.symlink(library_path, os.path.join(self.prefix.lib, "libESMF.%s" % prefix)) def check(self): make("check", parallel=False) -- cgit v1.2.3-60-g2f50