1- # Copyright (c) 2022-2023 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
1+ # Copyright (c) 2022-2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
22#
33# SPDX-FileCopyrightText: NVIDIA CORPORATION & AFFILIATES
44# SPDX-License-Identifier: LicenseRef-NvidiaProprietary
@@ -33,6 +33,11 @@ endfunction()
3333
3434find_package (CUDAToolkit REQUIRED )
3535
36+ set (CTK_SEARCH_PATHS
37+ ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}
38+ ${CMAKE_CUDA_COMPILER_TOOLKIT_ROOT} /include
39+ )
40+
3641include_directories (SYSTEM ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES} )
3742find_path (NVJPEG_INCLUDE
3843 NAMES nvjpeg.h
@@ -45,97 +50,90 @@ include_directories(SYSTEM ${NVJPEG_INCLUDE})
4550include_directories (SYSTEM ${PROJECT_SOURCE_DIR} /external/NVTX/c/include )
4651include_directories (SYSTEM ${PROJECT_SOURCE_DIR} /external/dlpack/include )
4752
48- # Linking with static nvjpeg2k until there is a python package for it
4953if (BUILD_NVJPEG2K_EXT)
50- if (NOT WITH_DYNAMIC_NVJPEG2K)
51- CUDA_find_library (NVJPEG2K_LIBRARY nvjpeg2k_static )
52- if (${NVJPEG2K_LIBRARY} STREQUAL "NVJPEG2K_LIBRARY-NOTFOUND" )
53- message (WARNING "nvjpeg2k not found - disabled" )
54- set (BUILD_NVJPEG2K_EXT OFF CACHE BOOL INTERNAL )
55- set (BUILD_NVJPEG2K_EXT OFF )
56- else ()
57- message (STATUS "Found nvjpeg2k: " ${NVJPEG2K_LIBRARY} )
58- endif ()
59- else ()
60- # Note: We are getting the x86_64 tarball, but we are only interested in the headers.
54+ if (WITH_DYNAMIC_NVJPEG2K)
6155 include (FetchContent )
6256 FetchContent_Declare (
6357 nvjpeg2k_headers
64- URL https://developer.download.nvidia.com/compute/nvjpeg2000/redist/libnvjpeg_2k/linux -x86_64/libnvjpeg_2k-linux -x86_64-0.8 .0.38 -archive.tar.xz
65- URL_HASH SHA512=21acc1bfa7b6967fc2240dac9c9041faa6c10c9fe356f754748b6a6154e92031b0e4d8d1a0a1d1cdfb5c68b929126d548e7ea3d321609d339c2a6668281d2180
58+ URL https://developer.download.nvidia.com/compute/nvjpeg2000/redist/libnvjpeg_2k/linux -x86_64/libnvjpeg_2k-linux -x86_64-0.9 .0.43 -archive.tar.xz
59+ URL_HASH SHA512=22d14a20af67ba414956fd7c4223cf3fd519cec9ccbd0ae27603416ab143eae92457ab0434205fe66617bcc5a54805bfc6183f89205ea2d0068d497321a43783
6660 )
6761 FetchContent_Populate (nvjpeg2k_headers)
68- set (nvjpeg2k_SEARCH_PATH "${nvjpeg2k_headers_SOURCE_DIR} /include" )
62+ set (NVJPEG2K_SEARCH_PATHS "${nvjpeg2k_headers_SOURCE_DIR} /include" )
63+ else ()
64+ set (NVJPEG2K_SEARCH_PATHS ${CTK_SEARCH_PATHS} )
65+ find_library (NVJPEG2K_LIBRARY nvjpeg2k_static PATH_SUFFIXES lib lib64 )
66+ if (NVJPEG2K_LIBRARY)
67+ message (STATUS "Found nvJPEG2k: ${NVJPEG2K_LIBRARY} " )
68+ else ()
69+ message (WARNING "nvJPEG2k library not found. Disabling nvJPEG2k and tests build." )
70+ set (BUILD_NVJPEG2K_EXT OFF CACHE BOOL INTERNAL )
71+ set (BUILD_NVJPEG2K_EXT OFF )
72+ endif ()
6973 endif ()
7074
71- if (NOT DEFINED NVJPEG2K_INCLUDE)
72- find_path (NVJPEG2K_INCLUDE
73- NAMES nvjpeg2k.h
74- PATHS ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}
75- ${CMAKE_CUDA_COMPILER_TOOLKIT_ROOT} /include
76- ${nvjpeg2k_SEARCH_PATH}
77- )
75+ find_path (NVJPEG2K_INCLUDE NAMES nvjpeg2k.h HINTS ${NVJPEG2K_SEARCH_PATHS} )
76+
77+ if ((NVJPEG2K_LIBRARY OR WITH_DYNAMIC_NVJPEG2K) AND NOT NVJPEG2K_INCLUDE)
78+ message (FATAL_ERROR
79+ "nvJPEG2k header file not found, please check your install"
80+ " or disable nvJPEG2k extension build with -DBUILD_NVJPEG2K_EXT=OFF" )
7881 endif ()
7982endif ()
8083
8184if (BUILD_NVJPEG2K_EXT)
82- message (STATUS "NVJPEG2K_INCLUDE=${NVJPEG2K_INCLUDE} " )
83- include_directories (SYSTEM ${NVJPEG2K_INCLUDE} )
85+ message (STATUS "Using NVJPEG2K_INCLUDE=${NVJPEG2K_INCLUDE} " )
86+ include_directories (BEFORE SYSTEM ${NVJPEG2K_INCLUDE} )
8487else ()
85- message (STATUS "nvjpeg2k extension build disabled" )
88+ message (STATUS "nvJPEG2k extension build disabled" )
8689endif ()
8790
8891if (BUILD_NVTIFF_EXT)
8992 if (WITH_DYNAMIC_NVTIFF)
90- message (STATUS "Dynamic nvTIFF extension build" )
91- # Note: We are getting the x86_64 tarball, but we are only interested in the headers.
9293 include (FetchContent )
9394 FetchContent_Declare (
9495 nvtiff_headers
95- URL https://developer.download.nvidia.com/compute/nvtiff/redist/libnvtiff/linux -x86_64/libnvtiff-linux -x86_64-0.5.0.67_cuda12 -archive.tar.xz
96- URL_HASH SHA512=62dea5c9b72aa3f4e18b306e3f1e60a00082e67c6cedc95442413b39aa48e41ae4b9371a5ff210a37a6cb3008ed308aeb78cbf2a7b9df55bc5ee7a6da0899832
96+ URL https://developer.download.nvidia.com/compute/nvtiff/redist/libnvtiff/linux -x86_64/libnvtiff-linux -x86_64-0.5.1.75_cuda12 -archive.tar.xz
97+ URL_HASH SHA512=66332d1cb32d428b8f7fce8ebaf9d44caa01d85f77d880c827ccf15459f3164e6dcfabfb88e4a0c2b0916ef83161c2d9f8990bebb8d61aca938cd9199b514752
9798 )
9899 FetchContent_Populate (nvtiff_headers)
99- set (nvtiff_SEARCH_PATH "${nvtiff_headers_SOURCE_DIR} /include" )
100-
101- find_path (NVTIFF_INCLUDE
102- NAMES nvtiff.h
103- PATHS ${CMAKE_CUDA_TOOLKIT_INCLUDE_DIRECTORIES}
104- ${CMAKE_CUDA_COMPILER_TOOLKIT_ROOT} /include
105- ${nvtiff_SEARCH_PATH}
106- )
100+ set (NVTIFF_SEARCH_PATHS "${nvtiff_headers_SOURCE_DIR} /include" )
107101 else ()
102+ set (NVTIFF_SEARCH_PATHS ${CTK_SEARCH_PATHS} )
108103 find_library (NVTIFF_LIB nvtiff_static PATH_SUFFIXES lib lib64 )
109- if (NOT NVTIFF_LIB)
110- message (WARNING , "nvTIFF library not found. Disabling its extensions and tests build." )
104+ if (NVTIFF_LIB)
105+ message (STATUS "Found nvTIFF: ${NVTIFF_LIB} " )
106+ else ()
107+ message (WARNING "nvTIFF library not found. Disabling nvTIFF extension and tests build." )
111108 set (BUILD_NVTIFF_EXT OFF CACHE BOOL INTERNAL )
112109 set (BUILD_NVTIFF_EXT OFF )
113- else ()
114- message (STATUS "Found nvTIFF: ${NVTIFF_LIB} " )
115- find_path (NVTIFF_INCLUDE NAMES nvtiff.h )
116- if (NOT NVTIFF_INCLUDE)
117- message (FATAL_ERROR ,
118- " Found nvTIFF library file but not header file, please check your install"
119- " or disable nvTIFF extension build with -DBUILD_NVTIFF_EXT=OFF" )
120- endif ()
121110 endif ()
122111 endif ()
112+
113+ find_path (NVTIFF_INCLUDE NAMES nvtiff.h HINTS ${NVTIFF_SEARCH_PATHS} )
114+
115+ if ((NVTIFF_LIB OR WITH_DYNAMIC_NVTIFF) AND NOT NVTIFF_INCLUDE)
116+ message (FATAL_ERROR
117+ "nvTIFF header file not found, please check your install"
118+ " or disable nvTIFF extension build with -DBUILD_NVTIFF_EXT=OFF" )
119+ endif ()
123120endif ()
121+
124122if (BUILD_NVTIFF_EXT)
125123 message (STATUS "Using NVTIFF_INCLUDE=${NVTIFF_INCLUDE} " )
126- include_directories (SYSTEM ${NVTIFF_INCLUDE} )
124+ include_directories (BEFORE SYSTEM ${NVTIFF_INCLUDE} )
127125else ()
128- message (STATUS "nvtiff extension build disabled" )
126+ message (STATUS "nvTIFF extension build disabled" )
129127endif ()
130128
131129set (TIFF_LIBRARY_DEPS)
132130
133131find_package (ZLIB )
134- if (NOT DEFINED ZLIB_LIBRARY )
132+ if (NOT ZLIB_FOUND )
135133 message (STATUS "zlib not found - disabled" )
136134else ()
137- message (STATUS "Using zlib at ${ZLIB_LIBRARY } " )
138- list (APPEND TIFF_LIBRARY_DEPS ${ZLIB_LIBRARY } )
135+ message (STATUS "Using zlib at ${ZLIB_LIBRARIES } " )
136+ list (APPEND TIFF_LIBRARY_DEPS ${ZLIB_LIBRARIES } )
139137endif ()
140138
141139find_package (ZSTD )
@@ -147,14 +145,14 @@ else()
147145endif ()
148146
149147find_package (JPEG 62 ) # 1.5.3 version
150- if (NOT DEFINED JPEG_LIBRARY )
148+ if (NOT JPEG_FOUND )
151149 message (STATUS "libjpeg-turbo not found - disabled" )
152150 set (BUILD_LIBJPEG_TURBO_EXT OFF CACHE BOOL INTERNAL )
153151 set (BUILD_LIBJPEG_TURBO_EXT OFF )
154152else ()
155- message (STATUS "Using libjpeg-turbo at ${JPEG_LIBRARY } " )
156- include_directories (SYSTEM ${JPEG_INCLUDE_DIR } )
157- list (APPEND TIFF_LIBRARY_DEPS ${JPEG_LIBRARY } )
153+ message (STATUS "Using libjpeg-turbo at ${JPEG_LIBRARIES } " )
154+ include_directories (SYSTEM ${JPEG_INCLUDE_DIRS } )
155+ list (APPEND TIFF_LIBRARY_DEPS ${JPEG_LIBRARIES } )
158156endif ()
159157
160158find_package (TIFF )
0 commit comments