forked from conda-forge/amrex-feedstock
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrecipe.yaml
More file actions
104 lines (95 loc) · 3.01 KB
/
recipe.yaml
File metadata and controls
104 lines (95 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
schema_version: 1
context:
# ensure mpi is defined (needed for conda-smithy recipe-lint)
# prioritize nompi variant via build number
name: amrex
version: "26.04"
build: 1
mpi: ${{ mpi or "nompi" }} # is this still needed?
mpi_prefix: ${{ "nompi" if mpi == "nompi" else "mpi_" + mpi }}
package:
name: ${{ name|lower }}
version: ${{ version }}
source:
url: https://github.com/AMReX-Codes/amrex/archive/refs/tags/${{ version }}.tar.gz
sha256: 6774449027793ae583036150ee17d929c88cdc04fee136da8de201cbe78c4c03
patches:
- patches/amrex-26.04-changelog.patch
build:
# add build string so packages can depend on
# mpi or nompi variants
# dependencies:
# `pkg * mpi_mpich_*` for mpich
# `pkg * mpi_*` for any mpi
number: ${{ build | int + 100 if mpi == "nompi" and amrex_precision == "dp" else build }}
string: ${{ mpi_prefix }}_${{ amrex_precision }}_h${{ hash }}_${{ build | int + 100 if mpi == "nompi" and amrex_precision == "dp" else build }}
requirements:
build:
- ${{ compiler('c') }}
- ${{ stdlib("c") }}
- ${{ compiler('cxx') }}
- if: unix
then: make
- if: win
then:
- clang
- lld
- llvm-openmp
- ninja
- if: linux
then: libgomp
- if: osx
then: llvm-openmp
- cmake
- pkg-config
# In OpenMPI, the compiler wrappers are binaries and the wrappers in build
# can use host libraries by adding OPAL_PREFIX and in mpich, compiler
# wrappers are bash scripts and wrappers in build can't use host libraries.
- if: "mpi == 'openmpi' and (build_platform != target_platform)"
then: openmpi
host:
- if: "mpi != 'nompi'"
then: ${{ mpi }}
- fftw
- vir-simd
run:
- if: "mpi != 'nompi'"
then:
- ${{ mpi }}
- if: osx
then: libcxx
run_exports:
# strict runtime dependency on build-time MPI flavor and DP/SP variant
- ${{ name }} * ${{ mpi_prefix }}_${{ amrex_precision }}_*
# Releases are not (yet) compatible:
# There is no ABI compatibility check or guarantee between AMReX releases.
- amrex ==${{ version }}
tests:
- package_contents:
lib:
- if: unix
then: amrex
- amrex_1d
- amrex_2d
- amrex_3d
include:
- AMReX.H
files:
- ${{ "Library" if win else "lib" }}/cmake/${{ "AMReX/" if unix }}AMReXConfig.cmake
about:
license: BSD-3-Clause
license_file: LICENSE
summary: A software framework for massively parallel, block-structured adaptive mesh refinement (AMR) applications
description: |
AMReX is a software framework containing all the functionality to write
massively parallel, block-structured adaptive mesh refinement (AMR)
applications. AMReX is an Established Project of the High Performance Software Foundation.
homepage: https://amrex-codes.github.io/amrex/
repository: https://github.com/AMReX-Codes/amrex
documentation: https://amrex-codes.github.io/amrex/docs_html/
extra:
recipe-maintainers:
- atmyers
- ax3l
- EZoni
- WeiqunZhang