Introducing types to allow flowing compilation settings to the application

Maybe this should be project name instead of project path.