Multiple main.cpp files

I’m writing a library with Platformio, and I’d like to be able to have multiple main.cpp files (or equivalent) to explore different parts of the library, e.g. for development and testing of different functions, and for having different setup examples - much as one would have a collection of example sketches in an Arduino library. Closer to deployment, I’d like to be able to have one project with multiple main.cpp files for different bits of hardware.

Is there an easy way to manage this? It looks like I can use source filters (c.f. Change the 'main' file in src folder), but this seems to be easy to break and (AFAICT) requires repeating a long source filter string +<*> -<.git/> -<.svn/> -<example/> -<examples/> -<test/> -<tests/> with modifications for each environment. Is there a way to e.g. set a default, and then have an environment add a single extra file to it?