WarpX: Patch no-MPI & Lib Install (#30866)
Fixes WarpX issues: - https://github.com/ECP-WarpX/WarpX/pull/3134 - https://github.com/ECP-WarpX/WarpX/pull/3141 and uses GitHub patch URLs directly instead of storing patch copies.
This commit is contained in:
parent
c36f15e29e
commit
adef8f6ca7
@ -1,34 +0,0 @@
|
||||
From 9785e706229622626133c4b03c7abd004f62023f Mon Sep 17 00:00:00 2001
|
||||
From: Axel Huebl <axel.huebl@plasma.ninja>
|
||||
Date: Sat, 4 Dec 2021 15:28:13 -0800
|
||||
Subject: [PATCH] Fix: Installed Symlink LIB
|
||||
|
||||
The latest patch to these routines broke our library alias in installs.
|
||||
|
||||
By default, this variable is relative and needs the prefix appended.
|
||||
In some cases, e.g., if externally set, it can already be absolute. In that
|
||||
case, we skip adding the prefix.
|
||||
---
|
||||
CMakeLists.txt | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 04092ba962..a549546ab9 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -343,9 +343,14 @@ if(WarpX_LIB)
|
||||
else()
|
||||
set(mod_ext "so")
|
||||
endif()
|
||||
+ if(IS_ABSOLUTE ${CMAKE_INSTALL_LIBDIR})
|
||||
+ set(ABS_INSTALL_LIB_DIR ${CMAKE_INSTALL_LIBDIR})
|
||||
+ else()
|
||||
+ set(ABS_INSTALL_LIB_DIR ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR})
|
||||
+ endif()
|
||||
install(CODE "file(CREATE_LINK
|
||||
$<TARGET_FILE_NAME:shared>
|
||||
- ${CMAKE_INSTALL_LIBDIR}/libwarpx.${lib_suffix}.${mod_ext}
|
||||
+ ${ABS_INSTALL_LIB_DIR}/libwarpx.${lib_suffix}.${mod_ext}
|
||||
COPY_ON_ERROR SYMBOLIC)")
|
||||
endif()
|
||||
|
@ -132,7 +132,22 @@ class Warpx(CMakePackage):
|
||||
# The symbolic aliases for our +lib target were missing in the install
|
||||
# location
|
||||
# https://github.com/ECP-WarpX/WarpX/pull/2626
|
||||
patch('2626.patch', when='@21.12')
|
||||
patch('https://github.com/ECP-WarpX/WarpX/pull/2626.patch?full_index=1',
|
||||
sha256='a431d4664049d6dcb6454166d6a948d8069322a111816ca5ce01553800607544',
|
||||
when='@21.12')
|
||||
|
||||
# Workaround for AMReX<=22.06 no-MPI Gather
|
||||
# https://github.com/ECP-WarpX/WarpX/pull/3134
|
||||
# https://github.com/AMReX-Codes/amrex/pull/2793
|
||||
patch('https://github.com/ECP-WarpX/WarpX/pull/3134.patch?full_index=1',
|
||||
sha256='b786ce64a3c2c2b96ff2e635f0ee48532e4ae7ad9637dbf03f11c0768c290690',
|
||||
when='@22.02:22.05')
|
||||
|
||||
# Forgot to install ABLASTR library
|
||||
# https://github.com/ECP-WarpX/WarpX/pull/3141
|
||||
patch('https://github.com/ECP-WarpX/WarpX/pull/3141.patch?full_index=1',
|
||||
sha256='dab6fb44556ee1fd466a4cb0e20f89bde1ce445c9a51a2c0f59d1740863b5e7d',
|
||||
when='@22.04,22.05')
|
||||
|
||||
def cmake_args(self):
|
||||
spec = self.spec
|
||||
@ -168,10 +183,15 @@ def cmake_args(self):
|
||||
def libs(self):
|
||||
libsuffix = {'1': '1d', '2': '2d', '3': '3d', 'rz': 'rz'}
|
||||
dims = self.spec.variants['dims'].value
|
||||
return find_libraries(
|
||||
libs = find_libraries(
|
||||
['libwarpx.' + libsuffix[dims]], root=self.prefix, recursive=True,
|
||||
shared=True
|
||||
)
|
||||
libs += find_libraries(
|
||||
['libablastr'], root=self.prefix, recursive=True,
|
||||
shared=self.spec.variants['shared']
|
||||
)
|
||||
return libs
|
||||
|
||||
# WarpX has many examples to serve as a suitable smoke check. One
|
||||
# that is typical was chosen here
|
||||
|
Loading…
Reference in New Issue
Block a user