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
|
# The symbolic aliases for our +lib target were missing in the install
|
||||||
# location
|
# location
|
||||||
# https://github.com/ECP-WarpX/WarpX/pull/2626
|
# 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):
|
def cmake_args(self):
|
||||||
spec = self.spec
|
spec = self.spec
|
||||||
@ -168,10 +183,15 @@ def cmake_args(self):
|
|||||||
def libs(self):
|
def libs(self):
|
||||||
libsuffix = {'1': '1d', '2': '2d', '3': '3d', 'rz': 'rz'}
|
libsuffix = {'1': '1d', '2': '2d', '3': '3d', 'rz': 'rz'}
|
||||||
dims = self.spec.variants['dims'].value
|
dims = self.spec.variants['dims'].value
|
||||||
return find_libraries(
|
libs = find_libraries(
|
||||||
['libwarpx.' + libsuffix[dims]], root=self.prefix, recursive=True,
|
['libwarpx.' + libsuffix[dims]], root=self.prefix, recursive=True,
|
||||||
shared=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
|
# WarpX has many examples to serve as a suitable smoke check. One
|
||||||
# that is typical was chosen here
|
# that is typical was chosen here
|
||||||
|
Loading…
Reference in New Issue
Block a user