Skip to content

Commit 9e39f54

Browse files
committed
Use conditional linking instead of dummy targets for nvImageCodec
1 parent 2f9b5a1 commit 9e39f54

File tree

2 files changed

+5
-17
lines changed

2 files changed

+5
-17
lines changed

cpp/plugins/cucim.kit.cuslide2/CMakeLists.txt

Lines changed: 4 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -240,23 +240,13 @@ target_link_libraries(${CUCIM_PLUGIN_NAME}
240240
deps::pugixml
241241
deps::json
242242
deps::libdeflate
243-
deps::nvimgcodec
243+
$<TARGET_NAME_IF_EXISTS:deps::nvimgcodec>
244244
)
245245

246-
# Add nvImageCodec compile definition if the target exists and has content
246+
# Add nvImageCodec compile definition if the target exists
247247
if(TARGET deps::nvimgcodec)
248-
get_target_property(NVIMGCODEC_LOCATION deps::nvimgcodec IMPORTED_LOCATION)
249-
get_target_property(NVIMGCODEC_INTERFACE_LINK deps::nvimgcodec INTERFACE_LINK_LIBRARIES)
250-
251-
# Check if it's a real target (has location or interface links) vs dummy target
252-
if(NVIMGCODEC_LOCATION OR NVIMGCODEC_INTERFACE_LINK OR TARGET nvimgcodec::nvimgcodec)
253-
target_compile_definitions(${CUCIM_PLUGIN_NAME} PRIVATE CUCIM_HAS_NVIMGCODEC)
254-
message(STATUS "✓ nvImageCodec enabled - GPU-accelerated JPEG/JPEG2000 decoding available")
255-
else()
256-
message(STATUS "⚠ nvImageCodec target exists but is dummy - GPU acceleration disabled")
257-
endif()
258-
else()
259-
message(STATUS "⚠ nvImageCodec target not found - GPU acceleration disabled")
248+
target_compile_definitions(${CUCIM_PLUGIN_NAME} PRIVATE CUCIM_HAS_NVIMGCODEC)
249+
message(STATUS "✓ nvImageCodec enabled - GPU-accelerated JPEG/JPEG2000 decoding available")
260250
endif()
261251
if (TARGET CUDA::nvjpeg_static)
262252
target_link_libraries(${CUCIM_PLUGIN_NAME}

cpp/plugins/cucim.kit.cuslide2/cmake/deps/nvimgcodec.cmake

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ if (NOT TARGET deps::nvimgcodec)
125125
endif()
126126
endif()
127127

128-
# Create target based on detection results (single location for target creation)
128+
# Create target only if nvImageCodec was found
129129
if(NVIMGCODEC_LIB_PATH AND EXISTS "${NVIMGCODEC_LIB_PATH}")
130130
add_library(deps::nvimgcodec SHARED IMPORTED GLOBAL)
131131
set_target_properties(deps::nvimgcodec PROPERTIES
@@ -140,8 +140,6 @@ if (NOT TARGET deps::nvimgcodec)
140140
set(NVIMGCODEC_LIB_PATH ${NVIMGCODEC_LIB_PATH} CACHE INTERNAL "" FORCE)
141141
mark_as_advanced(NVIMGCODEC_INCLUDE_PATH NVIMGCODEC_LIB_PATH)
142142
else()
143-
# Create dummy target when not found
144-
add_library(deps::nvimgcodec INTERFACE IMPORTED GLOBAL)
145143
message(STATUS "✗ nvImageCodec not found - GPU acceleration disabled")
146144
message(STATUS "To enable nvImageCodec support:")
147145
message(STATUS " Option 1 (conda): conda install libnvimgcodec-dev -c conda-forge")

0 commit comments

Comments
 (0)