Feature/build

Adding cmake ability, tested and will need to be updated for each revision.