I build the project from batch files, but it think it's not so important... here's how I structure my projects:
-build: here goes all the crap like debug files, executable for debugging, dll's etc. I go here when I want to debug the application.
-code: just the source code.
-assets: all the data that the application needs.
-release: this is where I put the "final product". With the help of some script I can pack everything I need and slam it in a folder here that will be like "ProjectX_0.0.1".
-I also have an "app" folder that contains all the external tools I use, like editor, command line scripts etc but that is one level up relative to the single "project".
-I also have an "external" folder, (one level up relative to the single project folder as well): for example I have external/SDL that contains all the sdl stuff, and I can grab it in every project I want.
Hope this helps