diff --git a/CMakeLists.txt b/CMakeLists.txt index 4c9f7fb..33d06d5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.26.4 FATAL_ERROR) project( pynvjitlink VERSION ${SKBUILD_PROJECT_VERSION} - LANGUAGES CXX CUDA + LANGUAGES CXX ) find_package(Python COMPONENTS Interpreter Development REQUIRED) @@ -14,9 +14,14 @@ find_package( # Require CUDA 12.2 Update 2 to avoid nvjitlink bugs CUDAToolkit 12.2.140 REQUIRED ) -target_link_libraries(_nvjitlinklib PRIVATE CUDA::nvJitLink_static CUDA::nvptxcompiler_static) -target_compile_options(_nvjitlinklib PRIVATE -Werror -Wall) +target_link_libraries(_nvjitlinklib PRIVATE CUDA::nvptxcompiler_static) +if (WIN32) + target_link_libraries(_nvjitlinklib PRIVATE CUDA::nvJitLink) +else() + target_link_libraries(_nvjitlinklib PRIVATE CUDA::nvJitLink_static) + target_compile_options(_nvjitlinklib PRIVATE -Werror -Wall) +endif() target_compile_features(_nvjitlinklib PRIVATE cxx_std_11) diff --git a/pynvjitlink/_nvjitlinklib.cpp b/pynvjitlink/_nvjitlinklib.cpp index 421731d..96295fd 100644 --- a/pynvjitlink/_nvjitlinklib.cpp +++ b/pynvjitlink/_nvjitlinklib.cpp @@ -16,7 +16,17 @@ #define PY_SSIZE_T_CLEAN #include "nvJitLink.h" +// something funny going on with this macro on Windows... +// see https://stackoverflow.com/a/62235644/2344149 +#ifdef _DEBUG +#define __PYNVJIT_DEBUG _DEBUG +#undef _DEBUG #include +#define _DEBUG __PYNVJIT_DEBUG +#undef __PYNVJIT_DEBUG +#else +#include +#endif #include static const char *nvJitLinkGetErrorEnum(nvJitLinkResult error) {