libpyne

This PR makes our C/C++ library a first class citizen following [these suggestions](http://lucumr.pocoo.org/2013/8/18/beautiful-native-libraries/).

This basically entails a complete refactor of the C++ side of the build system.  This has the following features:

* a single `libpyne` that you can link against
* a single `pyne.h` that can be included via `#include "pyne/pyne.h"`

Other features such as those implemented by FindPyne.cmake have all been maintained.  

Testing this feature likely involves blowing away the existing install dir as it is incompatible with the develop install.  I anticipate that this feature will be useful to folks like @makeclean.

For background, I need to do something similar for bright and figured that I'd practice on pyne :)
+1


On Sat, Jun 14, 2014 at 11:40 AM, Robert Carlsen <notifications@github.com>
wrote:

> In cpp/pyne.h:
>
> > -  #define isnan(x) __isnand((double)x)
> > +#ifndef PYNE_IS_AMALGAMATED
> > +#include <json/json-forwards.h>
> > +#include <json/json.h>
> > +//#include "dagmc_bridge.h"  // figure this out later...
> > +#include "data.h"
> > +#include "enrichment_cascade.h"
> > +#include "enrichment.h"
> > +#include "enrichment_symbolic.h"
> > +#include "extra_types.h"
> > +#include "h5wrap.h"
> > +#include "material.h"
> > +#include "nucname.h"
> > +#include "rxname.h"
> > +#include "tally.h"
> > +#include "utils.h"
>
> If these headers are installed into [prefix]/pyne/*, it would be nice if
> these includes were `#include "pyne/*"- then we wouldn't need any extra-I`
> flags to compile with pyne.h
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/pyne/pyne/pull/472/files#r13781802>.
>



-- 
Matthew Gidden
Ph.D. Candidate, Nuclear Engineering
The University of Wisconsin -- Madison
Ph. 225.892.3192