diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/gumbo | |
Diffstat (limited to 'vcpkg/ports/gumbo')
| -rw-r--r-- | vcpkg/ports/gumbo/CMakeLists.txt | 56 | ||||
| -rw-r--r-- | vcpkg/ports/gumbo/portfile.cmake | 32 | ||||
| -rw-r--r-- | vcpkg/ports/gumbo/vcpkg.json | 17 |
3 files changed, 105 insertions, 0 deletions
diff --git a/vcpkg/ports/gumbo/CMakeLists.txt b/vcpkg/ports/gumbo/CMakeLists.txt new file mode 100644 index 0000000..745a7ef --- /dev/null +++ b/vcpkg/ports/gumbo/CMakeLists.txt @@ -0,0 +1,56 @@ +cmake_minimum_required(VERSION 3.8.0) + +project(gumbo) + +set(gumbo_public_headers + src/gumbo.h + src/tag_enum.h +) + +set(gumbo_srcs + src/attribute.c + src/char_ref.c + src/error.c + src/parser.c + src/string_buffer.c + src/string_piece.c + src/tag.c + src/tokenizer.c + src/utf8.c + src/util.c + src/vector.c +) + +include_directories(src) +if (MSVC) + include_directories(visualc/include) +endif (MSVC) + +add_library(gumbo ${gumbo_srcs}) + +set_target_properties(gumbo PROPERTIES + C_STANDARD 99 + PUBLIC_HEADER "${gumbo_public_headers}" +) + +target_include_directories(gumbo PUBLIC + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src> + $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> + $<INSTALL_INTERFACE:include/>) + +install( + TARGETS gumbo EXPORT unofficial-gumbo-config + RUNTIME DESTINATION bin + LIBRARY DESTINATION lib + ARCHIVE DESTINATION lib + PUBLIC_HEADER DESTINATION include +) + +install(EXPORT unofficial-gumbo-config + NAMESPACE unofficial::gumbo:: + DESTINATION share/unofficial-gumbo + ) +configure_file("${CMAKE_CURRENT_SOURCE_DIR}/gumbo.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/lib/pkgconfig/gumbo.pc" @ONLY) + +install(FILES "${CMAKE_CURRENT_BINARY_DIR}/lib/pkgconfig/gumbo.pc" DESTINATION "lib/pkgconfig") + diff --git a/vcpkg/ports/gumbo/portfile.cmake b/vcpkg/ports/gumbo/portfile.cmake new file mode 100644 index 0000000..89ca188 --- /dev/null +++ b/vcpkg/ports/gumbo/portfile.cmake @@ -0,0 +1,32 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +vcpkg_download_distfile(ARCHIVE + URLS "https://codeberg.org/gumbo-parser/gumbo-parser/archive/${VERSION}.tar.gz" + FILENAME "gumbo-${VERSION}.tar.gz" + SHA512 15da29bc1b7d70a827870562462ca90fd57469d72d7a4804c59da96c5c46b3a0c50e99a08a80d6e08d2be87f55388c8848918bfbab58ac0c22df85fdc2bd35e7 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + SOURCE_BASE "${VERSION}" +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" +) + +vcpkg_cmake_install() + +vcpkg_copy_pdbs() + +vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-gumbo CONFIG_PATH share/unofficial-gumbo) + +vcpkg_fixup_pkgconfig() + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/doc/COPYING") diff --git a/vcpkg/ports/gumbo/vcpkg.json b/vcpkg/ports/gumbo/vcpkg.json new file mode 100644 index 0000000..d384b3a --- /dev/null +++ b/vcpkg/ports/gumbo/vcpkg.json @@ -0,0 +1,17 @@ +{ + "name": "gumbo", + "version": "0.12.3", + "description": "An HTML5 parsing library in pure C99", + "homepage": "https://codeberg.org/gumbo-parser/gumbo-parser", + "license": "Apache-2.0", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |