import os from setuptools import setup, find_packages, Extension setup_requires = ['setuptools', 'wheel'] FLAG_CPP = os.getenv('PSFLAG_CPP', '0') == '1' if FLAG_CPP: try: from Cython.Build import cythonize import eigency WITH_CPP = True setup_requires += ['cython', 'eigency'] ext_modules = cythonize(Extension( name='pyg_spectral.propagations.prop_cppext', sources=['pyg_spectral/propagations/prop_cppext.pyx'], language='c++', extra_compile_args=["-std=c++11", "-O3", "-fopenmp"], include_dirs=[".", "module-dir-name"] + eigency.get_includes(), optional=True, )) except ImportError: import warnings warnings.warn("Cython or Eigen is not installed, continue without cpp.", category=ImportWarning, stacklevel=2) WITH_CPP = False ext_modules = [] else: ext_modules = [] setup( setup_requires=setup_requires, packages=find_packages(), ext_modules=ext_modules, )