cpp.hpp reverted back to using exec rather than proc, it wasn't thread safe to change env vars