aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGuillaume Lachance <glachance@cmaisonneuve.qc.ca>2017-12-21 02:39:45 -0500
committerRobert Schumacher <roschuma@microsoft.com>2017-12-20 23:39:45 -0800
commit4e6678ba9dd1291439143fccc603b614f7baa9f0 (patch)
tree130324e3959da62e2c9ef023246e4a25d12fb70d
parenta0b2767175c20dc446c22a9ce30ed1874d72acdf (diff)
downloadvcpkg-4e6678ba9dd1291439143fccc603b614f7baa9f0.tar.gz
vcpkg-4e6678ba9dd1291439143fccc603b614f7baa9f0.zip
libmupdf initial port (#1950)
* libmupdf initial port * [libmupdf] Use CMake for buildsystem replacement.
-rw-r--r--ports/libmupdf/CMakeLists.txt43
-rw-r--r--ports/libmupdf/CONTROL4
-rw-r--r--ports/libmupdf/portfile.cmake30
3 files changed, 77 insertions, 0 deletions
diff --git a/ports/libmupdf/CMakeLists.txt b/ports/libmupdf/CMakeLists.txt
new file mode 100644
index 000000000..827f2de5d
--- /dev/null
+++ b/ports/libmupdf/CMakeLists.txt
@@ -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
+)
diff --git a/ports/libmupdf/CONTROL b/ports/libmupdf/CONTROL
new file mode 100644
index 000000000..ed61402d7
--- /dev/null
+++ b/ports/libmupdf/CONTROL
@@ -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
diff --git a/ports/libmupdf/portfile.cmake b/ports/libmupdf/portfile.cmake
new file mode 100644
index 000000000..df4997a70
--- /dev/null
+++ b/ports/libmupdf/portfile.cmake
@@ -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)