Trying to adapt this to a project and add -fopenmp, I found that I get warnings about ignoring #pragma omp parallel for. Inspecting the actual compiler call, -fopenmp doesn't show up even though the extra_compile_args=['-fopenmp'] is given to the Extension.
Workaround: in BuildExt.build_extensions, add:
A better way to do this might be to note use a custom build_ext class at all, but instead just do all the platform/compiler checking logic at the top level and passing the results in to extra_compile_args.