1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- find_path(GIF_INCLUDE_DIR gif_lib.h
- HINTS
- ENV GIF_DIR
- PATH_SUFFIXES include
- )
- set(POTENTIAL_GIF_LIBS gif libgif ungif libungif giflib giflib4)
- find_library(GIF_LIBRARY
- NAMES ${POTENTIAL_GIF_LIBS}
- HINTS
- ENV GIF_DIR
- PATH_SUFFIXES lib
- )
- set(GIF_LIBRARIES ${GIF_LIBRARY})
- if(GIF_INCLUDE_DIR)
- include(${CMAKE_CURRENT_LIST_DIR}/CMakePushCheckState.cmake)
- include(${CMAKE_CURRENT_LIST_DIR}/CheckStructHasMember.cmake)
- CMAKE_PUSH_CHECK_STATE()
- set(CMAKE_REQUIRED_QUIET ${GIF_FIND_QUIETLY})
- set(CMAKE_REQUIRED_INCLUDES "${GIF_INCLUDE_DIR}")
-
- file(STRINGS ${GIF_INCLUDE_DIR}/gif_lib.h _GIF_DEFS REGEX "^[ \t]*#define[ \t]+GIFLIB_(MAJOR|MINOR|RELEASE)")
- if(_GIF_DEFS)
-
- string(REGEX REPLACE ".*GIFLIB_MAJOR ([0-9]+).*" "\\1" _GIF_MAJ "${_GIF_DEFS}")
- string(REGEX REPLACE ".*GIFLIB_MINOR ([0-9]+).*" "\\1" _GIF_MIN "${_GIF_DEFS}")
- string(REGEX REPLACE ".*GIFLIB_RELEASE ([0-9]+).*" "\\1" _GIF_REL "${_GIF_DEFS}")
- set(GIF_VERSION "${_GIF_MAJ}.${_GIF_MIN}.${_GIF_REL}")
- else()
-
- CHECK_STRUCT_HAS_MEMBER(GifFileType UserData gif_lib.h GIF_GifFileType_UserData )
- if(GIF_GifFileType_UserData)
- set(GIF_VERSION 4)
- else()
- set(GIF_VERSION 3)
- endif()
- endif()
- unset(_GIF_MAJ)
- unset(_GIF_MIN)
- unset(_GIF_REL)
- unset(_GIF_DEFS)
- CMAKE_POP_CHECK_STATE()
- endif()
- include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
- FIND_PACKAGE_HANDLE_STANDARD_ARGS(GIF REQUIRED_VARS GIF_LIBRARY GIF_INCLUDE_DIR
- VERSION_VAR GIF_VERSION )
- mark_as_advanced(GIF_INCLUDE_DIR GIF_LIBRARY)
|