All the “hard work” is in fpm, the fpm.toml file only specifies special configurations for your project (if necessary) and dependencies.
fpm does not do any “searching” (at the moment). You either specify exactly where the git repository for the dependency exists (i.e. proj = {git = "https://..."}, where exactly on your machine it exists (i.e. proj = {path = "/path/to/proj"}, or it is a “special” dependency that fpm knows about (i.e. stdlib = *).
You do not have to use git. But in any case, git does not care at all about the organization of the files it helps you keep the history of.
While fpm is still a “work in progress”, I’d say it’s clearly self-sustaining now, and there is little risk of it going unsupported in the foreseeable future. The main disadvantage is that there is no way of specifying build steps beyond “feed the source files to the compiler”. I’ve found I can do without that feature in nearly all cases though.
I believe you should be able to find libraries supporting fpm in all of those categories, some of which others have already begun suggesting to you.
Good luck.