summaryrefslogtreecommitdiff
path: root/cmake
diff options
context:
space:
mode:
authorPierre Joye <pierre.php@gmail.com>2021-08-24 15:45:55 +0700
committerPierre Joye <pierre.php@gmail.com>2021-08-24 15:45:55 +0700
commitb61fc2dbad5d1a8c0b4f0cbfa0076d9938f723d3 (patch)
treead2647c5e2253a283277eb4a061f39a955cc11cf /cmake
parentcbb07f6515577980cc10187c91134558a85e463e (diff)
downloadlibgd-b61fc2dbad5d1a8c0b4f0cbfa0076d9938f723d3.tar.gz
simplify HEIF_HDR_TO_8BIT detection
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/FindHEIF.cmake22
1 files changed, 7 insertions, 15 deletions
diff --git a/cmake/modules/FindHEIF.cmake b/cmake/modules/FindHEIF.cmake
index 70f14c2..1751a84 100644
--- a/cmake/modules/FindHEIF.cmake
+++ b/cmake/modules/FindHEIF.cmake
@@ -54,21 +54,13 @@ 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 (HEIF_INCLUDE_DIR)
+ include(CheckStructHasMember)
+ CHECK_STRUCT_HAS_MEMBER("struct heif_decoding_options" convert_hdr_to_8bit libheif/heif.h HEIF_HDR_TO_8BIT LANGUAGE C)
+ if (WIN32)
+ SET(HEIF_PKG_FOUND 1)
+ endif (WIN32)
+ENDIF (HEIF_INCLUDE_DIR)
IF (NOT HEIF_HDR_TO_8BIT AND NOT HEIF_PKG_FOUND)
MESSAGE(FATAL_ERROR "libheif version found is too old")