|
|
|
|
@ -4,15 +4,39 @@
|
|
|
|
|
|
|
|
|
|
### Spack
|
|
|
|
|
|
|
|
|
|
This assumes that you have spack installed and sourced. If not, you can install
|
|
|
|
|
it using the following commands
|
|
|
|
|
|
|
|
|
|
```bash shell
|
|
|
|
|
$ git clone -c feature.manyFiles=true --depth=2 https://github.com/spack/spack.git
|
|
|
|
|
|
|
|
|
|
# For bash/zsh/sh
|
|
|
|
|
$ . spack/share/spack/setup-env.sh
|
|
|
|
|
|
|
|
|
|
# For tcsh/csh
|
|
|
|
|
$ source spack/share/spack/setup-env.csh
|
|
|
|
|
|
|
|
|
|
# For fish
|
|
|
|
|
$ . spack/share/spack/setup-env.fish
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Now in the root directory of this repository, you can load the spack environment
|
|
|
|
|
that contains the packages needed to build the project.
|
|
|
|
|
|
|
|
|
|
```bash shell
|
|
|
|
|
# 1. Activate the local environment
|
|
|
|
|
$ spack env activate ./spack-env
|
|
|
|
|
|
|
|
|
|
# 2. Compile and install the packages listed in the environment
|
|
|
|
|
$ spack install
|
|
|
|
|
|
|
|
|
|
# optional?? it looks like cmake can still find the packages just by loding the environment using pkg-config
|
|
|
|
|
$ spack load openblas openmpi petsc
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### CMake
|
|
|
|
|
|
|
|
|
|
To build main from main.c
|
|
|
|
|
To build `main` from `main.c`
|
|
|
|
|
|
|
|
|
|
```bash shell
|
|
|
|
|
$ rm -rf build
|
|
|
|
|
|