From aeede90fedd0ecf75193d044346745c48ce915f6 Mon Sep 17 00:00:00 2001 From: yagi Date: Thu, 5 Feb 2026 01:22:39 +0900 Subject: [PATCH] feat: enhance Debian package filename generation for TensorRT and CUDA support --- CMakeLists.txt | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 71c8fef..0f07b4e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -117,6 +117,45 @@ else() set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}") endif() +set(_retinify_pkg_tag "cpu") +if(BUILD_WITH_TENSORRT) + find_package(CUDAToolkit REQUIRED) + + set(_retinify_cuda_major "${CUDAToolkit_VERSION_MAJOR}") + if(NOT _retinify_cuda_major) + string(REGEX MATCH "^[0-9]+" _retinify_cuda_major "${CUDAToolkit_VERSION}") + endif() + if(NOT _retinify_cuda_major AND DEFINED CMAKE_CUDA_COMPILER_VERSION) + string(REGEX MATCH "^[0-9]+" _retinify_cuda_major "${CMAKE_CUDA_COMPILER_VERSION}") + endif() + if(NOT _retinify_cuda_major) + set(_retinify_cuda_major "unknown") + endif() + + set(_retinify_tensorrt_major "") + if(NVINFER) + get_filename_component(_retinify_nvinfer_name "${NVINFER}" NAME) + if(_retinify_nvinfer_name MATCHES "libnvinfer\\.so\\.([0-9]+)") + set(_retinify_tensorrt_major "${CMAKE_MATCH_1}") + elseif(EXISTS "${NVINFER}" AND IS_SYMLINK "${NVINFER}") + file(READ_SYMLINK "${NVINFER}" _retinify_nvinfer_link) + get_filename_component(_retinify_nvinfer_link_name "${_retinify_nvinfer_link}" NAME) + if(_retinify_nvinfer_link_name MATCHES "libnvinfer\\.so\\.([0-9]+)") + set(_retinify_tensorrt_major "${CMAKE_MATCH_1}") + endif() + endif() + endif() + if(NOT _retinify_tensorrt_major) + set(_retinify_tensorrt_major "unknown") + endif() + + set(_retinify_pkg_tag "cuda${_retinify_cuda_major}-tensorrt${_retinify_tensorrt_major}") +endif() + +set(CPACK_DEBIAN_FILE_NAME + "${CPACK_PACKAGE_NAME}-${_retinify_pkg_tag}_${CPACK_PACKAGE_VERSION}_${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}.deb" +) + set(CPACK_DEBIAN_PACKAGE_MAINTAINER "Sensui Yagi ") set(CPACK_PACKAGE_CONTACT "contact@retinify.ai") set(CPACK_PACKAGE_DESCRIPTION "Real-Time AI Stereo Vision Library")