From d0f1f909853ddcbf27c3a9f6d3450b18c68c5861 Mon Sep 17 00:00:00 2001 From: ahuazuipiaoliang Date: Thu, 26 Feb 2026 05:16:08 +0000 Subject: [PATCH 1/3] feat: add tensorrt-10 support --- cmake/Modules/FindTENSORRT.cmake | 33 ++++++++++++++++++++++++++------ 1 file changed, 27 insertions(+), 6 deletions(-) diff --git a/cmake/Modules/FindTENSORRT.cmake b/cmake/Modules/FindTENSORRT.cmake index 2b381be..926bff3 100644 --- a/cmake/Modules/FindTENSORRT.cmake +++ b/cmake/Modules/FindTENSORRT.cmake @@ -34,12 +34,33 @@ if(TENSORRT_INCLUDE_DIR) file(READ "${TENSORRT_INCLUDE_DIR}/NvInfer.h" TENSORRT_H_CONTENTS) endif() - string(REGEX MATCH "define NV_TENSORRT_MAJOR ([0-9]+)" _ "${TENSORRT_H_CONTENTS}") - set(TENSORRT_VERSION_MAJOR ${CMAKE_MATCH_1} CACHE INTERNAL "") - string(REGEX MATCH "define NV_TENSORRT_MINOR ([0-9]+)" _ "${TENSORRT_H_CONTENTS}") - set(TENSORRT_VERSION_MINOR ${CMAKE_MATCH_1} CACHE INTERNAL "") - string(REGEX MATCH "define NV_TENSORRT_PATCH ([0-9]+)" _ "${TENSORRT_H_CONTENTS}") - set(TENSORRT_VERSION_PATCH ${CMAKE_MATCH_1} CACHE INTERNAL "") + # ============================== + # TensorRT version detection + # Supports both classic and TRT10 Enterprise macros + # ============================== + + # --- Try classic numeric macros first --- + string(REGEX MATCH "define[ \t]+NV_TENSORRT_MAJOR[ \t]+([0-9]+)" _ "${TENSORRT_H_CONTENTS}") + set(TENSORRT_VERSION_MAJOR "${CMAKE_MATCH_1}") + + string(REGEX MATCH "define[ \t]+NV_TENSORRT_MINOR[ \t]+([0-9]+)" _ "${TENSORRT_H_CONTENTS}") + set(TENSORRT_VERSION_MINOR "${CMAKE_MATCH_1}") + + string(REGEX MATCH "define[ \t]+NV_TENSORRT_PATCH[ \t]+([0-9]+)" _ "${TENSORRT_H_CONTENTS}") + set(TENSORRT_VERSION_PATCH "${CMAKE_MATCH_1}") + + # --- TRT10 Enterprise fallback --- + # NV_TENSORRT_* may map to TRT_*_ENTERPRISE macros + if(NOT TENSORRT_VERSION_MAJOR) + string(REGEX MATCH "define[ \t]+TRT_MAJOR_ENTERPRISE[ \t]+([0-9]+)" _ "${TENSORRT_H_CONTENTS}") + set(TENSORRT_VERSION_MAJOR "${CMAKE_MATCH_1}") + + string(REGEX MATCH "define[ \t]+TRT_MINOR_ENTERPRISE[ \t]+([0-9]+)" _ "${TENSORRT_H_CONTENTS}") + set(TENSORRT_VERSION_MINOR "${CMAKE_MATCH_1}") + + string(REGEX MATCH "define[ \t]+TRT_PATCH_ENTERPRISE[ \t]+([0-9]+)" _ "${TENSORRT_H_CONTENTS}") + set(TENSORRT_VERSION_PATCH "${CMAKE_MATCH_1}") + endif() set(TENSORRT_VERSION "${TENSORRT_VERSION_MAJOR}.${TENSORRT_VERSION_MINOR}.${TENSORRT_VERSION_PATCH}" From 107fe4eab34a807ef2d6b2ec4727ef4cbfc97c73 Mon Sep 17 00:00:00 2001 From: Mark Jin Date: Mon, 2 Mar 2026 10:40:46 +0800 Subject: [PATCH 2/3] Update cmake/Modules/FindTENSORRT.cmake Co-authored-by: Amadeusz Szymko --- cmake/Modules/FindTENSORRT.cmake | 6 ------ 1 file changed, 6 deletions(-) diff --git a/cmake/Modules/FindTENSORRT.cmake b/cmake/Modules/FindTENSORRT.cmake index 926bff3..1956993 100644 --- a/cmake/Modules/FindTENSORRT.cmake +++ b/cmake/Modules/FindTENSORRT.cmake @@ -34,12 +34,6 @@ if(TENSORRT_INCLUDE_DIR) file(READ "${TENSORRT_INCLUDE_DIR}/NvInfer.h" TENSORRT_H_CONTENTS) endif() - # ============================== - # TensorRT version detection - # Supports both classic and TRT10 Enterprise macros - # ============================== - - # --- Try classic numeric macros first --- string(REGEX MATCH "define[ \t]+NV_TENSORRT_MAJOR[ \t]+([0-9]+)" _ "${TENSORRT_H_CONTENTS}") set(TENSORRT_VERSION_MAJOR "${CMAKE_MATCH_1}") From 4baee082ff4728619c49184e000c7dead46804b0 Mon Sep 17 00:00:00 2001 From: Mark Jin Date: Mon, 2 Mar 2026 10:40:54 +0800 Subject: [PATCH 3/3] Update cmake/Modules/FindTENSORRT.cmake Co-authored-by: Amadeusz Szymko --- cmake/Modules/FindTENSORRT.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/Modules/FindTENSORRT.cmake b/cmake/Modules/FindTENSORRT.cmake index 1956993..be53de0 100644 --- a/cmake/Modules/FindTENSORRT.cmake +++ b/cmake/Modules/FindTENSORRT.cmake @@ -43,8 +43,8 @@ if(TENSORRT_INCLUDE_DIR) string(REGEX MATCH "define[ \t]+NV_TENSORRT_PATCH[ \t]+([0-9]+)" _ "${TENSORRT_H_CONTENTS}") set(TENSORRT_VERSION_PATCH "${CMAKE_MATCH_1}") - # --- TRT10 Enterprise fallback --- - # NV_TENSORRT_* may map to TRT_*_ENTERPRISE macros + # TRT 10.11+ aliases NV_TENSORRT_* to TRT_*_ENTERPRISE, regex can't resolve preprocessor + # indirection, so match the underlying macros directly if(NOT TENSORRT_VERSION_MAJOR) string(REGEX MATCH "define[ \t]+TRT_MAJOR_ENTERPRISE[ \t]+([0-9]+)" _ "${TENSORRT_H_CONTENTS}") set(TENSORRT_VERSION_MAJOR "${CMAKE_MATCH_1}")