Skip to content
Open
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
70e0e73
cuslide2: add OME-TIFF semantics and nvImageCodec 0.9 support
cdinea Jul 22, 2026
57aa615
cuslide2: harden nvimgcodec 0.9 OME parsing path
cdinea Jul 27, 2026
9bd44b8
fix(cuslide2): restore decoder thread-count heuristic
cdinea Jul 29, 2026
0912636
fix(cuslide2): require nvImageCodec 0.9 in dependency discovery
cdinea Jul 29, 2026
ce00b56
fix(cuslide2): sync vendored nvImageCodec headers with 0.9.0
cdinea Jul 29, 2026
d7c0023
fix(cuslide2): widen row stride arithmetic to 64-bit
cdinea Jul 29, 2026
1328a76
fix(cuslide2): restore zero-downsample guard in Philips metadata
cdinea Jul 29, 2026
bafbdb5
fix(cuslide2): bound associated-image scan to image description
cdinea Jul 29, 2026
eac5aee
fix(cuslide2): own channel names as strings while building
cdinea Jul 29, 2026
84fe4ed
test(cuslide2): strengthen pyramidal OME-TIFF validation
cdinea Jul 29, 2026
aef0ca1
style(cuslide2): satisfy pre-commit copyright and codespell checks
cdinea Jul 29, 2026
15752d3
test(cuslide2): cover uint16 pyramidal OME-TIFF decode
cdinea Jul 29, 2026
aeca33b
fix(cuslide2): correct pyramid geometry assertions in OME-TIFF test
cdinea Jul 29, 2026
1563e4c
fix(cuslide2): report TIFF resolution and preserve OME pyramid levels
cdinea Jul 30, 2026
0914c4a
fix(cuslide2): stop aborting in free() during process exit
cdinea Jul 30, 2026
729d27a
fix(cuslide2): return background for fully out-of-bounds regions
cdinea Jul 30, 2026
e011f44
docs(cuslide2): drop references to unsupported nvImageCodec versions
cdinea Jul 30, 2026
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
6 changes: 3 additions & 3 deletions conda/environments/all_cuda-129_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ dependencies:
- imagecodecs>=2021.6.8
- ipython
- lazy-loader>=0.4
- libnvimgcodec-dev>=0.8.0,<0.9.0
- libnvimgcodec>=0.8.0,<0.9.0
- libnvimgcodec-dev>=0.9.0,<0.10.0
- libnvimgcodec>=0.9.0,<0.10.0
- libnvjpeg-dev
- matplotlib-base>=3.7
- nbsphinx
- ninja
- numpy>=2.0,<3.0
- numpydoc>=1.7
- nvimgcodec>=0.8.0,<0.9.0
- nvimgcodec>=0.9.0,<0.10.0
- openslide-python>=1.3.0
- pip
- pooch>=1.6.0
Expand Down
6 changes: 3 additions & 3 deletions conda/environments/all_cuda-129_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ dependencies:
- ipython
- lazy-loader>=0.4
- libcufile-dev
- libnvimgcodec-dev>=0.8.0,<0.9.0
- libnvimgcodec>=0.8.0,<0.9.0
- libnvimgcodec-dev>=0.9.0,<0.10.0
- libnvimgcodec>=0.9.0,<0.10.0
- libnvjpeg-dev
- matplotlib-base>=3.7
- nbsphinx
- ninja
- numpy>=2.0,<3.0
- numpydoc>=1.7
- nvimgcodec>=0.8.0,<0.9.0
- nvimgcodec>=0.9.0,<0.10.0
- openslide-python>=1.3.0
- pip
- pooch>=1.6.0
Expand Down
6 changes: 3 additions & 3 deletions conda/environments/all_cuda-133_arch-aarch64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,15 +17,15 @@ dependencies:
- imagecodecs>=2021.6.8
- ipython
- lazy-loader>=0.4
- libnvimgcodec-dev>=0.8.0,<0.9.0
- libnvimgcodec>=0.8.0,<0.9.0
- libnvimgcodec-dev>=0.9.0,<0.10.0
- libnvimgcodec>=0.9.0,<0.10.0
- libnvjpeg-dev
- matplotlib-base>=3.7
- nbsphinx
- ninja
- numpy>=2.0,<3.0
- numpydoc>=1.7
- nvimgcodec>=0.8.0,<0.9.0
- nvimgcodec>=0.9.0,<0.10.0
- openslide-python>=1.3.0
- pip
- pooch>=1.6.0
Expand Down
6 changes: 3 additions & 3 deletions conda/environments/all_cuda-133_arch-x86_64.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,15 +18,15 @@ dependencies:
- ipython
- lazy-loader>=0.4
- libcufile-dev
- libnvimgcodec-dev>=0.8.0,<0.9.0
- libnvimgcodec>=0.8.0,<0.9.0
- libnvimgcodec-dev>=0.9.0,<0.10.0
- libnvimgcodec>=0.9.0,<0.10.0
- libnvjpeg-dev
- matplotlib-base>=3.7
- nbsphinx
- ninja
- numpy>=2.0,<3.0
- numpydoc>=1.7
- nvimgcodec>=0.8.0,<0.9.0
- nvimgcodec>=0.9.0,<0.10.0
- openslide-python>=1.3.0
- pip
- pooch>=1.6.0
Expand Down
2 changes: 1 addition & 1 deletion conda/recipes/libcucim/conda_build_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,4 @@ cmake_version:
- ">=4.0"

nvimgcodec_version:
- ">=0.8.0,<0.9.0"
- ">=0.9.0,<0.10.0"
57 changes: 34 additions & 23 deletions cpp/cmake/deps/nvimgcodec.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,22 @@
#

if (NOT TARGET deps::nvimgcodec)
set(NVIMGCODEC_SONAME_CANDIDATES
"libnvimgcodec.so.0.9.0"
"libnvimgcodec.so.0.8.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the conda yaml file you set requirements >= 0.9 for nvimagecodec. Why do we need 0.8 here then?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You're right, that 0.8.0 line shouldn't be there β€” it's left over from when this branch still supported 0.8. Everything else already asks for 0.9: dependencies.yaml, the conda environment files, conda_build_config.yaml and pyproject.toml are all >=0.9.0,<0.10.0, and the vendored headers say NVIMGCODEC_VER_MINOR 9. Dropped it from this file and the cuslide2 copy.

Digging into it though, removing that line isn't quite enough. The list still ends with libnvimgcodec.so.0 and libnvimgcodec.so, and those symlinks point at whatever major-0 build happens to be installed β€” so on a machine with only 0.8 we'd still pick it up without noticing. Combined with the two things you spotted elsewhere (limit_images gone in 0.9, no compile-time version checks), that would blow up at runtime instead of failing the build, which is a much worse way to find out.

So I added a check at configure time: it reads NVIMGCODEC_VER_MAJOR/MINOR out of the nvimgcodec_version.h we discover, errors below 0.9, warns if it's outside the pinned range, and skips quietly when the header isn't there so wheel and system installs keep working. The find_package branch now looks at nvimgcodec_VERSION too β€” it wasn't checking anything at all before.

On consolidating the two nvimgcodec.cmake files: fair point, and the check I just added is now duplicated as well. I'd rather do that separately than grow this PR β€” the two files get picked up through different superbuild_depend() search paths (cuslide2 via SUPERBUILD_ADDITIONAL_DEPS_DIRS, the other via CMAKE_SUPERBUILD_DEPS_ROOT_DIR, which points at the cuslide plugin's cmake dir and has no nvimgcodec entry), so merging them takes a little care not to bbreak standalone plugin builds.

"libnvimgcodec.so.0"
"libnvimgcodec.so")

function(_cucim_find_nvimgcodec_library out_var root_dir)
foreach(_soname IN LISTS NVIMGCODEC_SONAME_CANDIDATES)
if(EXISTS "${root_dir}/${_soname}")
set(${out_var} "${root_dir}/${_soname}" PARENT_SCOPE)
return()
endif()
endforeach()
set(${out_var} "" PARENT_SCOPE)
endfunction()

# First try to find it as a package
find_package(nvimgcodec QUIET)

Expand All @@ -22,31 +38,23 @@ if (NOT TARGET deps::nvimgcodec)
# Try conda environment detection (both Python packages and native packages)
if(DEFINED ENV{CONDA_BUILD})
# Conda build environment
set(NVIMGCODEC_LIB_PATH "$ENV{PREFIX}/lib/libnvimgcodec.so.0")
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "$ENV{PREFIX}/lib")
set(NVIMGCODEC_INCLUDE_PATH "$ENV{PREFIX}/include/")
if(NOT EXISTS "${NVIMGCODEC_LIB_PATH}")
set(NVIMGCODEC_LIB_PATH "$ENV{PREFIX}/lib/libnvimgcodec.so")
endif()
elseif(DEFINED ENV{CONDA_PREFIX})
# Active conda environment - try native package first
set(CONDA_NATIVE_ROOT "$ENV{CONDA_PREFIX}")
if(EXISTS "${CONDA_NATIVE_ROOT}/include/nvimgcodec.h")
set(NVIMGCODEC_INCLUDE_PATH "${CONDA_NATIVE_ROOT}/include/")
if(EXISTS "${CONDA_NATIVE_ROOT}/lib/libnvimgcodec.so.0")
set(NVIMGCODEC_LIB_PATH "${CONDA_NATIVE_ROOT}/lib/libnvimgcodec.so.0")
elseif(EXISTS "${CONDA_NATIVE_ROOT}/lib/libnvimgcodec.so")
set(NVIMGCODEC_LIB_PATH "${CONDA_NATIVE_ROOT}/lib/libnvimgcodec.so")
endif()
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${CONDA_NATIVE_ROOT}/lib")
else()
# Fallback: try Python site-packages in conda environment
foreach(PY_VER "3.13" "3.12" "3.11" "3.10" "3.9")
set(CONDA_PYTHON_ROOT "$ENV{CONDA_PREFIX}/lib/python${PY_VER}/site-packages/nvidia/nvimgcodec")
if(EXISTS "${CONDA_PYTHON_ROOT}/include/nvimgcodec.h")
set(NVIMGCODEC_INCLUDE_PATH "${CONDA_PYTHON_ROOT}/include/")
if(EXISTS "${CONDA_PYTHON_ROOT}/lib/libnvimgcodec.so.0")
set(NVIMGCODEC_LIB_PATH "${CONDA_PYTHON_ROOT}/lib/libnvimgcodec.so.0")
elseif(EXISTS "${CONDA_PYTHON_ROOT}/lib/libnvimgcodec.so")
set(NVIMGCODEC_LIB_PATH "${CONDA_PYTHON_ROOT}/lib/libnvimgcodec.so")
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${CONDA_PYTHON_ROOT}/lib")
if(NOT NVIMGCODEC_LIB_PATH)
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${CONDA_PYTHON_ROOT}")
endif()
break()
endif()
Expand All @@ -67,25 +75,28 @@ if (NOT TARGET deps::nvimgcodec)
set(NVIMGCODEC_PYTHON_ROOT "${PYTHON_SITE_PACKAGES}/nvidia/nvimgcodec")
if(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/include/nvimgcodec.h")
set(NVIMGCODEC_INCLUDE_PATH "${NVIMGCODEC_PYTHON_ROOT}/include/")
if(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so.0")
set(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so.0")
elseif(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so")
set(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so")
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/lib")
if(NOT NVIMGCODEC_LIB_PATH)
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}")
endif()
endif()
endif()
endif()

# System-wide installation fallback
if(NOT NVIMGCODEC_LIB_PATH)
if(EXISTS /usr/lib/x86_64-linux-gnu/libnvimgcodec.so.0)
set(NVIMGCODEC_LIB_PATH /usr/lib/x86_64-linux-gnu/libnvimgcodec.so.0)
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "/usr/lib/x86_64-linux-gnu")
if(NVIMGCODEC_LIB_PATH)
set(NVIMGCODEC_INCLUDE_PATH "/usr/include/")
elseif(EXISTS /usr/lib/aarch64-linux-gnu/libnvimgcodec.so.0)
set(NVIMGCODEC_LIB_PATH /usr/lib/aarch64-linux-gnu/libnvimgcodec.so.0)
else()
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "/usr/lib/aarch64-linux-gnu")
endif()
if(NVIMGCODEC_LIB_PATH)
set(NVIMGCODEC_INCLUDE_PATH "/usr/include/")
elseif(EXISTS /usr/lib64/libnvimgcodec.so.0) # CentOS (x86_64)
set(NVIMGCODEC_LIB_PATH /usr/lib64/libnvimgcodec.so.0)
else()
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "/usr/lib64") # CentOS (x86_64)
endif()
if(NVIMGCODEC_LIB_PATH)
set(NVIMGCODEC_INCLUDE_PATH "/usr/include/")
endif()
endif()
Expand Down
2 changes: 2 additions & 0 deletions cpp/plugins/cucim.kit.cuslide2/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,8 @@ set(CUSLIDE2_CORE_SOURCES
# TIFF structure management (uses nvImageCodec for parsing)
${CMAKE_CURRENT_SOURCE_DIR}/src/cuslide/tiff/ifd.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/cuslide/tiff/ifd.h
${CMAKE_CURRENT_SOURCE_DIR}/src/cuslide/tiff/ome_xml.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/cuslide/tiff/ome_xml.h
${CMAKE_CURRENT_SOURCE_DIR}/src/cuslide/tiff/tiff.cpp
${CMAKE_CURRENT_SOURCE_DIR}/src/cuslide/tiff/tiff.h
${CMAKE_CURRENT_SOURCE_DIR}/src/cuslide/tiff/types.h
Expand Down
74 changes: 37 additions & 37 deletions cpp/plugins/cucim.kit.cuslide2/cmake/deps/nvimgcodec.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,22 @@ if (NOT TARGET deps::nvimgcodec)
set(NVIMGCODEC_LIB_PATH "")
set(NVIMGCODEC_INCLUDE_PATH "")

set(NVIMGCODEC_SONAME_CANDIDATES
"libnvimgcodec.so.0.9.0"
"libnvimgcodec.so.0.8.0"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Similar question as above. Also maybe the cmake structure can be simplified so nvimagecodec search is done in a single place? But this is a question for a future pull request

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same as on the other cmake file β€” 0.8.0 is gone in 0912636, with a configure-time >=0.9.0 check added.

On consolidating the two nvimgcodec.cmake files: agreed it's worth doing, but I'd rather keep that as a follow-up. They're reached through different superbuild_depend() search paths, so merging them cleanly without breaking the standalone plugin build is a bit more than this PR should take on.

"libnvimgcodec.so.0"
"libnvimgcodec.so")

function(_cucim_find_nvimgcodec_library out_var root_dir)
foreach(_soname IN LISTS NVIMGCODEC_SONAME_CANDIDATES)
if(EXISTS "${root_dir}/${_soname}")
set(${out_var} "${root_dir}/${_soname}" PARENT_SCOPE)
return()
endif()
endforeach()
set(${out_var} "" PARENT_SCOPE)
endfunction()

# Try find_package first (works in conda and system installations)
find_package(nvimgcodec QUIET)

Expand All @@ -23,11 +39,7 @@ if (NOT TARGET deps::nvimgcodec)
set(CONDA_NATIVE_ROOT "$ENV{CONDA_PREFIX}")
if(EXISTS "${CONDA_NATIVE_ROOT}/include/nvimgcodec.h")
set(NVIMGCODEC_INCLUDE_PATH "${CONDA_NATIVE_ROOT}/include/")
if(EXISTS "${CONDA_NATIVE_ROOT}/lib/libnvimgcodec.so.0")
set(NVIMGCODEC_LIB_PATH "${CONDA_NATIVE_ROOT}/lib/libnvimgcodec.so.0")
elseif(EXISTS "${CONDA_NATIVE_ROOT}/lib/libnvimgcodec.so")
set(NVIMGCODEC_LIB_PATH "${CONDA_NATIVE_ROOT}/lib/libnvimgcodec.so")
endif()
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${CONDA_NATIVE_ROOT}/lib")
endif()

# Fallback: try Python site-packages in conda environment
Expand All @@ -36,16 +48,10 @@ if (NOT TARGET deps::nvimgcodec)
set(CONDA_PYTHON_ROOT "$ENV{CONDA_PREFIX}/lib/python${PY_VER}/site-packages/nvidia/nvimgcodec")
if(EXISTS "${CONDA_PYTHON_ROOT}/include/nvimgcodec.h")
set(NVIMGCODEC_INCLUDE_PATH "${CONDA_PYTHON_ROOT}/include/")
# Check for library in lib/ subdirectory first (conda package structure)
if(EXISTS "${CONDA_PYTHON_ROOT}/lib/libnvimgcodec.so.0")
set(NVIMGCODEC_LIB_PATH "${CONDA_PYTHON_ROOT}/lib/libnvimgcodec.so.0")
elseif(EXISTS "${CONDA_PYTHON_ROOT}/lib/libnvimgcodec.so")
set(NVIMGCODEC_LIB_PATH "${CONDA_PYTHON_ROOT}/lib/libnvimgcodec.so")
# Check for library directly in nvimgcodec directory (pip package structure)
elseif(EXISTS "${CONDA_PYTHON_ROOT}/libnvimgcodec.so.0")
set(NVIMGCODEC_LIB_PATH "${CONDA_PYTHON_ROOT}/libnvimgcodec.so.0")
elseif(EXISTS "${CONDA_PYTHON_ROOT}/libnvimgcodec.so")
set(NVIMGCODEC_LIB_PATH "${CONDA_PYTHON_ROOT}/libnvimgcodec.so")
# Check conda package layout first, then pip-style layout.
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${CONDA_PYTHON_ROOT}/lib")
if(NOT NVIMGCODEC_LIB_PATH)
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${CONDA_PYTHON_ROOT}")
endif()
if(NVIMGCODEC_LIB_PATH)
break()
Expand Down Expand Up @@ -80,14 +86,9 @@ if (NOT TARGET deps::nvimgcodec)
set(NVIMGCODEC_PYTHON_ROOT "${PYTHON_USER_SITE_PACKAGES}/nvidia/nvimgcodec")
if(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/include/nvimgcodec.h")
set(NVIMGCODEC_INCLUDE_PATH "${NVIMGCODEC_PYTHON_ROOT}/include/")
if(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so.0")
set(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so.0")
elseif(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so")
set(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so")
elseif(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/libnvimgcodec.so.0")
set(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/libnvimgcodec.so.0")
elseif(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/libnvimgcodec.so")
set(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/libnvimgcodec.so")
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/lib")
if(NOT NVIMGCODEC_LIB_PATH)
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}")
endif()
endif()
endif()
Expand All @@ -97,14 +98,9 @@ if (NOT TARGET deps::nvimgcodec)
set(NVIMGCODEC_PYTHON_ROOT "${PYTHON_SITE_PACKAGES}/nvidia/nvimgcodec")
if(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/include/nvimgcodec.h")
set(NVIMGCODEC_INCLUDE_PATH "${NVIMGCODEC_PYTHON_ROOT}/include/")
if(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so.0")
set(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so.0")
elseif(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so")
set(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/lib/libnvimgcodec.so")
elseif(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/libnvimgcodec.so.0")
set(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/libnvimgcodec.so.0")
elseif(EXISTS "${NVIMGCODEC_PYTHON_ROOT}/libnvimgcodec.so")
set(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/libnvimgcodec.so")
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}/lib")
if(NOT NVIMGCODEC_LIB_PATH)
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "${NVIMGCODEC_PYTHON_ROOT}")
endif()
endif()
endif()
Expand All @@ -113,14 +109,18 @@ if (NOT TARGET deps::nvimgcodec)

# System-wide installation fallback
if(NOT NVIMGCODEC_LIB_PATH)
if(EXISTS /usr/lib/x86_64-linux-gnu/libnvimgcodec.so.0)
set(NVIMGCODEC_LIB_PATH /usr/lib/x86_64-linux-gnu/libnvimgcodec.so.0)
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "/usr/lib/x86_64-linux-gnu")
if(NVIMGCODEC_LIB_PATH)
set(NVIMGCODEC_INCLUDE_PATH "/usr/include/")
elseif(EXISTS /usr/lib/aarch64-linux-gnu/libnvimgcodec.so.0)
set(NVIMGCODEC_LIB_PATH /usr/lib/aarch64-linux-gnu/libnvimgcodec.so.0)
else()
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "/usr/lib/aarch64-linux-gnu")
endif()
if(NVIMGCODEC_LIB_PATH)
set(NVIMGCODEC_INCLUDE_PATH "/usr/include/")
elseif(EXISTS /usr/lib64/libnvimgcodec.so.0)
set(NVIMGCODEC_LIB_PATH /usr/lib64/libnvimgcodec.so.0)
else()
_cucim_find_nvimgcodec_library(NVIMGCODEC_LIB_PATH "/usr/lib64")
endif()
if(NVIMGCODEC_LIB_PATH)
set(NVIMGCODEC_INCLUDE_PATH "/usr/include/")
endif()
endif()
Expand Down
Loading
Loading