diff options
| author | Guillaume Lachance <glachance@cmaisonneuve.qc.ca> | 2017-12-21 02:39:45 -0500 |
|---|---|---|
| committer | Robert Schumacher <roschuma@microsoft.com> | 2017-12-20 23:39:45 -0800 |
| commit | 4e6678ba9dd1291439143fccc603b614f7baa9f0 (patch) | |
| tree | 130324e3959da62e2c9ef023246e4a25d12fb70d | |
| parent | a0b2767175c20dc446c22a9ce30ed1874d72acdf (diff) | |
| download | vcpkg-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.txt | 43 | ||||
| -rw-r--r-- | ports/libmupdf/CONTROL | 4 | ||||
| -rw-r--r-- | ports/libmupdf/portfile.cmake | 30 |
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) |
