diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/FindHEIF.cmake | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/cmake/modules/FindHEIF.cmake b/cmake/modules/FindHEIF.cmake index dfb7d76..70f14c2 100644 --- a/cmake/modules/FindHEIF.cmake +++ b/cmake/modules/FindHEIF.cmake @@ -43,7 +43,7 @@ SET(HEIF_FOUND "NO") # in the FIND_PATH() and FIND_LIBRARY() calls if( NOT WIN32 ) find_package(PkgConfig) - pkg_check_modules(HEIF_PKG libheif QUIET) + pkg_check_modules(HEIF_PKG libheif>=1.7.0 QUIET) endif( NOT WIN32 ) FIND_PATH(HEIF_INCLUDE_DIR NAMES libheif/heif.h @@ -54,6 +54,26 @@ FIND_PATH(HEIF_INCLUDE_DIR NAMES libheif/heif.h ${HEIF_PKG_INCLUDE_DIRS} # Generated by pkg-config ) +IF (NOT HEIF_PKG_FOUND) + INCLUDE(CheckCSourceCompiles) + CHECK_C_SOURCE_COMPILES( + " + #include <libheif/heif.h> + + #if !LIBHEIF_HAVE_VERSION(1, 7, 0) + #error \"libheif version is too old\" + #endif + + int main() { return 0; } + " + HEIF_HDR_TO_8BIT + ) +ENDIF (NOT HEIF_PKG_FOUND) + +IF (NOT HEIF_HDR_TO_8BIT AND NOT HEIF_PKG_FOUND) + MESSAGE(FATAL_ERROR "libheif version found is too old") +ENDIF (NOT HEIF_HDR_TO_8BIT AND NOT HEIF_PKG_FOUND) + SET(HEIF_NAMES ${HEIF_NAMES} heif ${HEIF_PKG_LIBRARY}) FIND_LIBRARY(HEIF_LIBRARY NAMES ${HEIF_NAMES} |