Can now compile with catch with no errors, although there are errors within the
test cases. Also added a check in the generate_headers.py file to see if the
headers have already been generated (this is a proposal and can be removed)
because it's time consuming when there is no changes to those files. the change
is fairly dumb (check if file .JSON_done exists) and doesn't consider the
modification time of the files.
generate_headers.py may not be called from the correct path, so get the
path of generate_headers.py and determine the base path from there
assuming generate_headers.py will be in dev/