Skip to content
Open
Changes from all commits
Commits
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
19 changes: 19 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -646,6 +646,25 @@ if(UHDR_ENABLE_HEIF)
endif()
if(LIBHEIF_FOUND)
message(STATUS "Found libheif: ${LIBHEIF_LIBRARIES}")
if(TARGET libheif::heif)
get_target_property(_heif_interface_dirs libheif::heif INTERFACE_INCLUDE_DIRECTORIES)
if(_heif_interface_dirs)
list(PREPEND PRIVATE_INCLUDE_DIR ${_heif_interface_dirs})
elseif(LIBHEIF_INCLUDE_DIRS)
list(PREPEND PRIVATE_INCLUDE_DIR ${LIBHEIF_INCLUDE_DIRS})
endif()
# CMake 3.25+: prevent libheif from being classified as a system target so
# its headers are prioritized over any conflicting host/system headers,
# without stripping system include classification from other dependencies.
# Resolve ALIASED_TARGET if libheif::heif is an ALIAS (e.g. from Findlibheif.cmake).
get_target_property(_heif_real_target libheif::heif ALIASED_TARGET)
if(NOT _heif_real_target)
set(_heif_real_target libheif::heif)
endif()
set_target_properties(${_heif_real_target} PROPERTIES SYSTEM FALSE)
elseif(LIBHEIF_INCLUDE_DIRS)
list(PREPEND PRIVATE_INCLUDE_DIR ${LIBHEIF_INCLUDE_DIRS})
endif()
add_compile_options(-DUHDR_ENABLE_HEIF)
list(APPEND PRIVATE_LINK_LIBS libheif::heif)
else()
Expand Down
Loading