fpm is a great tool. I really enjoy the simplicity and I use it occasionally to check that my code runs with different compilers (gfortran and ifort mainly). I almost never use it as a package manager though, but rather as a build system.
From my own experience, there are few limitations with fpm today that makes it unusable for large projects. I have a large project (hundreds of files), organized in multiple libraries (~100) in a big monorepo:
- On Windows, fpm cannot build projects with too many files (fpm fails at building projects with too many files · Issue #991 · fortran-lang/fpm · GitHub).
- Last time I checked, fpm cannot build dll ([fpm] can fpm be used to build a dynamic link library? - #4 by hkvzjal)
- I did not find a way to link easily local dependencies and other projects that are not in the same repo/folder.
So I keep using it for small test programs, because I really think it’s a great tool. And I am looking forward to the new versions and seeing these issues resolved with time.