1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146
|
# - Try to find MuPDF
# Once done this will define
#
# MUPDF_FOUND - system has MuPDF
# MUPDF_INCLUDE_DIR - The include directory for MuPDF headers
# MUPDF_LIBRARIES - Link these to use MuPDF
#
# Redistribution and use is allowed according to the terms of the BSD license.
#
if ( MUPDF_LIBRARIES )
# in cache already
SET(MuPDF_FIND_QUIETLY TRUE)
endif ( MUPDF_LIBRARIES )
# use pkg-config to get the directories and then use these values
# in the FIND_PATH() and FIND_LIBRARY() calls
find_package(PkgConfig)
if( PKG_CONFIG_FOUND )
pkg_check_modules(MUPDF_PKG QUIET mupdf)
endif( PKG_CONFIG_FOUND )
FIND_PATH(MUPDF_INCLUDE_DIR NAMES mupdf/pdf.h
PATHS
/usr/local/include
/usr/include
HINTS
${MUPDF_PKG_INCLUDE_DIRS} # Generated by pkg-config
)
IF ( NOT(MUPDF_INCLUDE_DIR) )
FIND_PATH(MUPDF_INCLUDE_DIR NAMES mupdf.h
PATHS
/usr/local/include
/usr/include
HINTS
${MUPDF_PKG_INCLUDE_DIRS} # Generated by pkg-config
)
ENDIF()
IF ( NOT(MUPDF_INCLUDE_DIR) )
MESSAGE(STATUS "Could not find MuPDF headers." )
ENDIF ()
IF (MUPDF_INCLUDE_DIR)
IF (EXISTS "${MUPDF_INCLUDE_DIR}/mupdf/pdf.h")
SET(MUPDF_VERSION_STRING "1.3")
ELSEIF (EXISTS "${MUPDF_INCLUDE_DIR}/mupdf.h")
FILE(STRINGS "${MUPDF_INCLUDE_DIR}/mupdf.h" MUPDF_H)
STRING(FIND "${MUPDF_H}" "pdf_new_obj_from_str" MUPDF_H_NEW_OBJ)
STRING(FIND "${MUPDF_H}" "pdf_new_rect" MUPDF_H_NEW_RECT)
STRING(FIND "${MUPDF_H}" "pdf_new_null" MUPDF_H_NEW_NULL)
IF (MUPDF_H_NEW_OBJ GREATER -1)
SET(MUPDF_VERSION_STRING "1.2")
ELSEIF (MUPDF_H_NEW_RECT GREATER -1)
SET(MUPDF_VERSION_STRING "1.1")
ELSEIF (MUPDF_H_NEW_NULL GREATER -1)
SET(MUPDF_VERSION_STRING "1.0")
ELSE()
SET(MUPDF_VERSION_STRING "0.9")
ENDIF()
ENDIF()
ENDIF()
# Find the libraries (Required; these vary between versions)
IF ("${MUPDF_VERSION_STRING}" VERSION_LESS "1.0")
FIND_LIBRARY(MUPDF_LIBRARY NAMES mupdf
PATHS
/usr/local
/usr
HINTS
${MUPDF_PKG_LIBRARY_DIRS} # Generated by pkg-config
PATH_SUFFIXES
lib64
lib
)
FIND_LIBRARY(FITZ_LIBRARY NAMES fitz
PATHS
/usr/local
/usr
HINTS
${MUPDF_PKG_LIBRARY_DIRS} # Generated by pkg-config
PATH_SUFFIXES
lib64
lib
)
MARK_AS_ADVANCED(MUPDF_LIBRARY)
MARK_AS_ADVANCED(FITZ_LIBRARY)
IF ( NOT(MUPDF_LIBRARY) OR NOT(FITZ_LIBRARY) )
MESSAGE(STATUS "Could not find MuPDF libraries." )
ELSE()
SET(MUPDF_LIBRARIES ${MUPDF_LIBRARY} ${FITZ_LIBRARY})
ENDIF()
ELSEIF( "${MUPDF_VERSION_STRING}" VERSION_LESS "1.3" )
FIND_LIBRARY(FITZ_LIBRARY NAMES fitz
PATHS
/usr/local
/usr
HINTS
${MUPDF_PKG_LIBRARY_DIRS} # Generated by pkg-config
PATH_SUFFIXES
lib64
lib
)
MARK_AS_ADVANCED(FITZ_LIBRARY)
IF ( NOT(FITZ_LIBRARY) )
MESSAGE(STATUS "Could not find MuPDF libraries." )
ELSE()
SET(MUPDF_LIBRARIES ${FITZ_LIBRARY})
ENDIF()
ELSE()
FIND_LIBRARY(MUPDF_LIBRARY NAMES mupdf
PATHS
/usr/local
/usr
HINTS
${MUPDF_PKG_LIBRARY_DIRS} # Generated by pkg-config
PATH_SUFFIXES
lib64
lib
)
FIND_LIBRARY(MUPDF_JS_LIBRARY NAMES mupdf-js-none
PATHS
/usr/local
/usr
HINTS
${MUPDF_PKG_LIBRARY_DIRS} # Generated by pkg-config
PATH_SUFFIXES
lib64
lib
)
MARK_AS_ADVANCED(MUPDF_LIBRARY MUPDF_JS_LIBRARY)
IF ( NOT(MUPDF_LIBRARY) OR NOT(MUPDF_JS_LIBRARY) )
MESSAGE(STATUS "Could not find MuPDF libraries." )
ELSE()
SET(MUPDF_LIBRARIES ${MUPDF_LIBRARY} ${MUPDF_JS_LIBRARY})
ENDIF()
ENDIF()
include(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(MuPDF REQUIRED_VARS MUPDF_LIBRARIES MUPDF_INCLUDE_DIR VERSION_VAR MUPDF_VERSION_STRING)
# show the MUPDF_(XPDF/QT4)_INCLUDE_DIR and MUPDF_LIBRARIES variables only in the advanced view
MARK_AS_ADVANCED(MUPDF_INCLUDE_DIR MUPDF_LIBRARIES)
|