Conversation
This commit adds a git submodule containing the initial Formal (https://github.com/berkeleylab/formal) Fortran implementations of mimetic discretizations.
This commit differentiates the submodule name from the path.
This commit adds an "fpm.toml" file in the root source directory, which enables the following command to build MOLE's C++ and Fortran libraries, including their prerequisites: fpm install --profile release --flag "-I./src/fortran/include" where it is assumed that the "formal" git submodule has been cloned into "src/fortran" by, for example, executing git submodule update --init --recursive
Now `fpm install` works without additional arguments.
There was a problem hiding this comment.
I checked this out, and it works great. I hit the same issues as last time, where I had to include
--flag "-ffree-line-length-none -fcoarray=single"
at the end of every command I ran, because of errors with GNU gfortran 13.3.0. A note in the README would be nice to address the coarray part. I note your README has the free-line-length mentioned.
I am going to bring this up with the MOLE group today. You implemented a few things we have never done before:
- Linking another repository with submodules
- "renaming" MOLE to formal in your repo ( not a bad thing, just like with PyMOLE )
- Separate set of examples ( again, not a bad thing, just something to discuss )
Overall, I really like it, and really like the testing you have. We really need something like that for the C++ and MATLAB codes.
My Workflow to run this
|
|
@jbrzensk thanks for testing this out and for all the helpful feedback. Ifyou use |
|
@jbrzensk sorry. I missed that you already found the |
|
@jbrzensk I just edited the |
|
There's a lot more that |
What type of PR is this? (check all applicable)
Description
This PR makes a fresh pass at adding Fortran implementations in a minimally intrusive way:
git submodule,fpm.tomlfile that requires no additional files or soft links, andREADME.mddescribing the cloning, installing, testing, and examples for the Fortran implementation.As before, the
fpm.tomlfile builds the C++ and Fortran implementations and their prerequisites.Related Issues & Documents
This PR supercedes all previous PRs related to the now-deleted
dev/fortranbranch.QA Instructions, Screenshots, Recordings
With
gitandfpminstalled on macOS, Linux, or Windows, and with theformalbranch checked out and your present working directory set to MOLE's root directory, run the following commands:fpmcan be installed via package manager or by compiling one source file and putting the resulting executable file in yourPATH.Added/updated tests?
Read Contributing Guide and Code of Conduct
Are there any post deployment tasks we need to perform?
No.
What gif best describes this PR or how it makes you feel?