diff options
Diffstat (limited to 'vcpkg/ports/libharu')
| -rw-r--r-- | vcpkg/ports/libharu/export-targets.patch | 32 | ||||
| -rw-r--r-- | vcpkg/ports/libharu/fix-include-path.patch | 13 | ||||
| -rw-r--r-- | vcpkg/ports/libharu/portfile.cmake | 65 | ||||
| -rw-r--r-- | vcpkg/ports/libharu/usage | 4 | ||||
| -rw-r--r-- | vcpkg/ports/libharu/vcpkg.json | 20 |
5 files changed, 134 insertions, 0 deletions
diff --git a/vcpkg/ports/libharu/export-targets.patch b/vcpkg/ports/libharu/export-targets.patch new file mode 100644 index 0000000..fab3e5b --- /dev/null +++ b/vcpkg/ports/libharu/export-targets.patch @@ -0,0 +1,32 @@ +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index b87af66..10ec58f 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -87,9 +87,26 @@ if(UNIX AND NOT APPLE) + target_link_libraries (hpdf ${M_LIB}) + endif() + ++if(LIBHPDF_SHARED) ++ if(WIN32 AND NOT CYGWIN) ++ set_target_properties(hpdf PROPERTIES DEFINE_SYMBOL HPDF_DLL_MAKE) ++ endif() ++endif() ++ ++target_include_directories(hpdf PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>) ++ ++add_library(haru INTERFACE) ++set_property(TARGET haru APPEND PROPERTY INTERFACE_LINK_LIBRARIES hpdf) ++ + install( +- TARGETS hpdf ++ TARGETS hpdf haru ++ EXPORT unofficial-libharu-config + ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} + ) ++ ++install(EXPORT unofficial-libharu-config ++ NAMESPACE unofficial::libharu:: ++ DESTINATION share/unofficial-libharu ++) diff --git a/vcpkg/ports/libharu/fix-include-path.patch b/vcpkg/ports/libharu/fix-include-path.patch new file mode 100644 index 0000000..8565594 --- /dev/null +++ b/vcpkg/ports/libharu/fix-include-path.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1c75e5a..9a6c575 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -148,7 +148,7 @@ set( + ) + + # install header files +-install(FILES ${haru_HDRS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) ++install(FILES ${haru_HDRS} DESTINATION include/) + + # install various files + install(FILES README.md CHANGES INSTALL DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/libharu) diff --git a/vcpkg/ports/libharu/portfile.cmake b/vcpkg/ports/libharu/portfile.cmake new file mode 100644 index 0000000..1286df4 --- /dev/null +++ b/vcpkg/ports/libharu/portfile.cmake @@ -0,0 +1,65 @@ +vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} + +vcpkg_from_github( + OUT_SOURCE_PATH SOURCE_PATH + REPO libharu/libharu + REF v${VERSION} + SHA512 422210b09f89643cb25808559aeea109db5cce8a71c779d51f87222cdd50434f4f0f92322ebe429fca8f85ad73592bcabb14c3e36cd0bea19b6ec4c729220522 + HEAD_REF master + PATCHES + fix-include-path.patch + export-targets.patch +) + +if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + set(VCPKG_BUILD_SHARED_LIBS ON) + set(VCPKG_BUILD_STATIC_LIBS OFF) +else() + set(VCPKG_BUILD_SHARED_LIBS OFF) + set(VCPKG_BUILD_STATIC_LIBS ON) +endif() + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + -DLIBHPDF_STATIC=${VCPKG_BUILD_STATIC_LIBS} + -DLIBHPDF_SHARED=${VCPKG_BUILD_SHARED_LIBS} +) + +vcpkg_cmake_install() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-libharu) + +file(REMOVE_RECURSE + "${CURRENT_PACKAGES_DIR}/debug/include" + "${CURRENT_PACKAGES_DIR}/debug/README.md" + "${CURRENT_PACKAGES_DIR}/debug/CHANGES" + "${CURRENT_PACKAGES_DIR}/debug/INSTALL" + "${CURRENT_PACKAGES_DIR}/README.md" + "${CURRENT_PACKAGES_DIR}/CHANGES" + "${CURRENT_PACKAGES_DIR}/INSTALL" +) + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +if(VCPKG_TARGET_IS_WINDOWS) + file(READ "${CURRENT_PACKAGES_DIR}/include/hpdf.h" _contents) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + string(REPLACE "#ifdef HPDF_DLL\n" "#if 1\n" _contents "${_contents}") + else() + string(REPLACE "#ifdef HPDF_DLL\n" "#if 0\n" _contents "${_contents}") + endif() + file(WRITE "${CURRENT_PACKAGES_DIR}/include/hpdf.h" "${_contents}") + + file(READ "${CURRENT_PACKAGES_DIR}/include/hpdf_types.h" _contents) + if(VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic") + string(REPLACE "#ifdef HPDF_DLL\n" "#if 1\n" _contents "${_contents}") + else() + string(REPLACE "#ifdef HPDF_DLL\n" "#if 0\n" _contents "${_contents}") + endif() + file(WRITE "${CURRENT_PACKAGES_DIR}/include/hpdf_types.h" "${_contents}") +endif() + +vcpkg_copy_pdbs() +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") +file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) diff --git a/vcpkg/ports/libharu/usage b/vcpkg/ports/libharu/usage new file mode 100644 index 0000000..b018352 --- /dev/null +++ b/vcpkg/ports/libharu/usage @@ -0,0 +1,4 @@ +libharu provides CMake targets: + + find_package(unofficial-libharu CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::libharu::hpdf) diff --git a/vcpkg/ports/libharu/vcpkg.json b/vcpkg/ports/libharu/vcpkg.json new file mode 100644 index 0000000..de62c89 --- /dev/null +++ b/vcpkg/ports/libharu/vcpkg.json @@ -0,0 +1,20 @@ +{ + "name": "libharu", + "version": "2.4.4", + "port-version": 1, + "description": "libharu - free PDF library", + "homepage": "https://github.com/libharu/libharu", + "license": "Zlib", + "dependencies": [ + "libpng", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} |