diff --git a/optix/optix_includes.h b/optix/optix_includes.h index 9750de6..c8589b5 100644 --- a/optix/optix_includes.h +++ b/optix/optix_includes.h @@ -1,5 +1,9 @@ #pragma once +#if defined(_MSC_VER) +#define NOMINMAX +#endif + #include #include #include @@ -13,4 +17,4 @@ inline void optix_check_return(OptixResult result) { ss << ": " << optixGetErrorString(result); throw std::runtime_error(ss.str()); } -} \ No newline at end of file +} diff --git a/setup.py b/setup.py index 2658567..f54c983 100644 --- a/setup.py +++ b/setup.py @@ -1,6 +1,7 @@ from setuptools import setup, Extension, find_packages from Cython.Build import cythonize import re +import os from pathlib import Path @@ -49,8 +50,13 @@ def import_module_from_path(path): '_OPTIX_VERSION_MICRO': optix_version_micro } +libraries=[] +if os.name == 'nt': + # OptiX uses some Windows Registry API(e.g. RegCloseKey) + libraries.append('advapi32') + extensions = [Extension("*", ["optix/*.pyx"], - include_dirs=[cuda_include_path, optix_include_path])] + include_dirs=[cuda_include_path, optix_include_path], libraries=libraries)] extensions = cythonize(extensions, language_level="3", compile_time_env=cython_compile_env, build_dir="build")