Skip to content
This repository was archived by the owner on Aug 28, 2025. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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)

Expand Down
10 changes: 10 additions & 0 deletions pynvjitlink/_nvjitlinklib.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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 <Python.h>
#define _DEBUG __PYNVJIT_DEBUG
#undef __PYNVJIT_DEBUG
#else
#include <Python.h>
#endif
#include <new>

static const char *nvJitLinkGetErrorEnum(nvJitLinkResult error) {
Expand Down