Support for multiple source sets

Also adds project configuration dependencies; closes #30