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)