libmupdf initial port (#1950)

* libmupdf initial port

* [libmupdf] Use CMake for buildsystem replacement.
This commit is contained in:
Guillaume Lachance 2017-12-21 02:39:45 -05:00 committed by Robert Schumacher
parent a0b2767175
commit 4e6678ba9d
3 changed files with 77 additions and 0 deletions

View File

@ -0,0 +1,43 @@
cmake_minimum_required(VERSION 3.9)
project(libmupdf C)
set(CMAKE_DEBUG_POSTFIX d)
if(NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/include/mupdf/pdf/name-table.h")
execute_process(
COMMAND "cmd.exe" "/c" "platform\\win32\\generate.bat"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
)
endif()
find_package(freetype NO_MODULE REQUIRED)
find_package(JPEG REQUIRED)
find_path(HARFBUZZ_INCLUDE hb.h PATH_SUFFIXES harfbuzz)
find_library(HARFBUZZ_LIBRARIES harfbuzz)
file(GLOB_RECURSE SOURCES "source/*.c")
list(FILTER SOURCES EXCLUDE REGEX "source/tools/[a-z]*\\.c$")
add_library(libmupdf ${SOURCES})
target_compile_definitions(libmupdf PRIVATE -DZ_SOLO)
target_include_directories(libmupdf PRIVATE
include
generated
thirdparty/jbig2dec
thirdparty/libjpeg
thirdparty/mujs
thirdparty/openjpeg/src/lib/openjp2
${JPEG_INCLUDE_DIR}
${HARFBUZZ_INCLUDE}
)
target_link_libraries(libmupdf PRIVATE
freetype
${JPEG_LIBRARIES}
${HARFBUZZ_LIBRARIES}
)
install(TARGETS libmupdf
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
)

4
ports/libmupdf/CONTROL Normal file
View File

@ -0,0 +1,4 @@
Source: libmupdf
Version: 1.11-1
Build-Depends: freetype, libjpeg-turbo, harfbuzz, zlib, curl, glfw3
Description: a lightweight PDF, XPS, and E-book library

View File

@ -0,0 +1,30 @@
if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
message(STATUS "Warning: Dynamic building not supported. Building static.")
set(VCPKG_LIBRARY_LINKAGE static)
endif()
include(vcpkg_common_functions)
set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/mupdf-1.11-source)
vcpkg_download_distfile(ARCHIVE
URLS "https://mupdf.com/downloads/mupdf-1.11-source.tar.gz"
FILENAME "mupdf.tar.gz"
SHA512 501670f540e298a8126806ebbd9db8b29866f663b7bbf26c9ade1933e42f0c00ad410b9d93f3ddbfb3e45c38722869095de28d832fe3fb3703c55cc9a01dbf63
)
vcpkg_extract_source_archive(${ARCHIVE})
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
vcpkg_configure_cmake(
SOURCE_PATH "${SOURCE_PATH}"
PREFER_NINJA
)
vcpkg_install_cmake()
file(COPY ${SOURCE_PATH}/include/mupdf DESTINATION ${CURRENT_PACKAGES_DIR}/include)
vcpkg_copy_pdbs()
#copyright
file(COPY ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
file(RENAME ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYING ${CURRENT_PACKAGES_DIR}/share/${PORT}/COPYRIGHT)