from distutils.core import setup from Cython.Build import cythonize from distutils.extension import Extension from Cython.Distutils import build_ext import numpy as np import platform import os import json this_dir = os.path.dirname(__file__) with open('../config.json') as fp: config = json.load(fp) extra_compile_args = ['-O3', '-std=c++11'] print('using cuda') cuda_lib_dir = config['CUDA_LIBRARY_DIR'] cuda_lib = 'cudart' sources = ['cyrender.pyx'] extra_objects = [ os.path.join(this_dir, 'render/render_cpu.cpp.o'), ] library_dirs = [] libraries = ['m'] extra_objects.append(os.path.join(this_dir, 'render/render_gpu.cu.o')) extra_objects.append(os.path.join(this_dir, 'render/stdlib_cuda.cu.o')) library_dirs.append(cuda_lib_dir) libraries.append(cuda_lib) setup( name="cyrender", cmdclass= {'build_ext': build_ext}, ext_modules=[ Extension('cyrender', sources, extra_objects=extra_objects, language='c++', library_dirs=library_dirs, libraries=libraries, include_dirs=[ np.get_include(), ], extra_compile_args=extra_compile_args, # extra_link_args=extra_link_args ) ] )