diff options
author | Martin Reboredo <yakoyoku@gmail.com> | 2021-08-21 00:36:36 -0300 |
---|---|---|
committer | Martin Reboredo <yakoyoku@gmail.com> | 2021-08-21 00:41:17 -0300 |
commit | 1a22921e8c2aed3cc0d412a0b41d4642c5a92c1e (patch) | |
tree | 3479761194800590a5d6b72dd30e878c29734721 /cmake | |
parent | 060026c1f5047b39baa3dcaf2d49e8053dfa371b (diff) | |
download | libgd-1a22921e8c2aed3cc0d412a0b41d4642c5a92c1e.tar.gz |
Enforce minimum libheif to 1.7.0
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} |