diff --git a/plugins/video/pkg_src/CMakeLists.txt b/plugins/video/pkg_src/CMakeLists.txt index 8f8158193f..f56c6ab2bb 100644 --- a/plugins/video/pkg_src/CMakeLists.txt +++ b/plugins/video/pkg_src/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# Copyright (c) 2023-2024, NVIDIA CORPORATION & AFFILIATES. All rights reserved. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -70,15 +70,22 @@ find_library(cuda_LIBRARY cuda PATHS ${CMAKE_CUDA_IMPLICIT_LINK_DIRECTORIES} PATH_SUFFIXES lib/stubs lib64/stubs) +if(NOT $ENV{LD_PRELOAD} STREQUAL "") + set(NEW_LD_PRELOAD "$ENV{LD_PRELOAD} ${cuda_LIBRARY}") +else() + set(NEW_LD_PRELOAD "${cuda_LIBRARY}") +endif() + # Generates .pyi stubs # Note: Needs to preload libcuda.so stub so that the shared-object library can be loaded add_custom_target(dali_${PLUGIN_NAME}_generate_stubs ALL - DEPENDS dali_${PLUGIN_NAME} - BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/fn/plugin/video/ - COMMAND LD_PRELOAD=${cuda_LIBRARY} ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/generate_plugin_stubs.py - ${CMAKE_CURRENT_BINARY_DIR} - ${PROJECT_BINARY_DIR}/libdali_${PLUGIN_NAME}.so - ) +DEPENDS dali_${PLUGIN_NAME} +BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/fn/plugin/video/ +COMMAND /bin/bash -c + "LD_PRELOAD=\"${NEW_LD_PRELOAD}\" \ + ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/generate_plugin_stubs.py \ + ${CMAKE_CURRENT_BINARY_DIR} ${PROJECT_BINARY_DIR}/libdali_${PLUGIN_NAME}.so" +) install(TARGETS dali_${PLUGIN_NAME} RUNTIME DESTINATION nvidia/dali/plugin/${PLUGIN_NAME}