I try to conditionally generate C code from a Cython pyx file. I found in the Cython documentation that I can use DEF to define a value and IF to conditionally generate code based on a defined value, but how can I set the value from the setup.py via Extension from setuptools.
Thank You
Thank you for the link.
The interesting flag in the setup.py is cython_compile_time_env. And to import the Extension from Cython.
from setuptools import setup
from Cython.Distutils.extension import Extension
ext = Extension(
name,
include_dirs=include_dirs,
cython_compile_time_env=dict(OPENMP=True),
sources=['test.pyx'])
setup(name=name,
cmdclass=dict(build_ext=build_ext),
ext_modules=[ext])
And in the test.pyx:
...
IF OPENMP:
#Do openmp
ELSE:
#No openmp
...
Cython conditional statements (IF...ELSE above) are documented here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With