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/cmark-gfm | |
Diffstat (limited to 'vcpkg/ports/cmark-gfm')
| -rw-r--r-- | vcpkg/ports/cmark-gfm/add-feature-tools.patch | 61 | ||||
| -rw-r--r-- | vcpkg/ports/cmark-gfm/portfile.cmake | 43 | ||||
| -rw-r--r-- | vcpkg/ports/cmark-gfm/vcpkg.json | 23 |
3 files changed, 127 insertions, 0 deletions
diff --git a/vcpkg/ports/cmark-gfm/add-feature-tools.patch b/vcpkg/ports/cmark-gfm/add-feature-tools.patch new file mode 100644 index 0000000..dedb8f2 --- /dev/null +++ b/vcpkg/ports/cmark-gfm/add-feature-tools.patch @@ -0,0 +1,61 @@ +diff --git a/extensions/CMakeLists.txt b/extensions/CMakeLists.txt +index e545b6d..01d84af 100644 +--- a/extensions/CMakeLists.txt ++++ b/extensions/CMakeLists.txt +@@ -1,3 +1,8 @@ ++if(BUILD_SHARED_LIBS) ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Dlibcmark_gfm_EXPORTS") ++ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Dlibcmark_gfm_EXPORTS") ++endif() ++ + set(LIBRARY "libcmark-gfm-extensions") + set(STATICLIBRARY "libcmark-gfm-extensions_static") + set(LIBRARY_SOURCES +@@ -66,6 +71,7 @@ endif() + set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON) + + include (InstallRequiredSystemLibraries) ++target_include_directories(${CMARK_INSTALL} INTERFACE $<INSTALL_INTERFACE:include>) + install(TARGETS ${CMARK_INSTALL} + EXPORT cmark-gfm-extensions + RUNTIME DESTINATION bin +@@ -79,7 +85,7 @@ if (CMARK_SHARED OR CMARK_STATIC) + DESTINATION include + ) + +- install(EXPORT cmark-gfm-extensions DESTINATION lib${LIB_SUFFIX}/cmake-gfm-extensions) ++ install(EXPORT cmark-gfm-extensions FILE cmark-gfm-extensions-config.cmake DESTINATION lib${LIB_SUFFIX}/cmake-gfm-extensions) + endif() + + # Feature tests +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index 84dd2a0..f355de5 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -154,12 +154,17 @@ endif() + + set(libdir lib${LIB_SUFFIX}) + ++if(NOT BUILD_TOOLS) ++ set_target_properties(${PROGRAM} PROPERTIES EXCLUDE_FROM_ALL 1) ++ set(PROGRAM "") ++endif() + install(TARGETS ${PROGRAM} ${CMARK_INSTALL} + EXPORT cmark-gfm + RUNTIME DESTINATION bin + LIBRARY DESTINATION ${libdir} + ARCHIVE DESTINATION ${libdir} + ) ++target_include_directories(${CMARK_INSTALL} INTERFACE $<INSTALL_INTERFACE:include>) + + if(CMARK_SHARED OR CMARK_STATIC) + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/libcmark-gfm.pc.in +@@ -175,7 +180,7 @@ if(CMARK_SHARED OR CMARK_STATIC) + DESTINATION include + ) + +- install(EXPORT cmark-gfm DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) ++ install(EXPORT cmark-gfm FILE cmark-gfm-config.cmake DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) + endif() + + # Feature tests diff --git a/vcpkg/ports/cmark-gfm/portfile.cmake b/vcpkg/ports/cmark-gfm/portfile.cmake new file mode 100644 index 0000000..53cd8d2 --- /dev/null +++ b/vcpkg/ports/cmark-gfm/portfile.cmake @@ -0,0 +1,43 @@ +string(REGEX REPLACE "^([0-9]+\\.[0-9]+\\.[0-9]+)\\.([0-9]+)$" "\\1.gfm.\\2" GFM_VERSION "${VERSION}")
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO github/cmark-gfm
+ REF ${GFM_VERSION}
+ SHA512 435298fcf782dfc5b64c578ac839759b9d5cd0c08eb90d6702f26278062a0f4887c65c18e89e2c9f6be23f10dd835c769a7e0f8c934be068b6754dcca30cdd7c
+ HEAD_REF master
+ PATCHES
+ add-feature-tools.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CMARK_STATIC)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" CMARK_SHARED)
+
+vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
+ FEATURES
+ tools BUILD_TOOLS
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DCMARK_TESTS=OFF
+ -DCMARK_SHARED=${CMARK_SHARED}
+ -DCMARK_STATIC=${CMARK_STATIC}
+ ${FEATURE_OPTIONS}
+ OPTIONS_DEBUG
+ -DBUILD_TOOLS=OFF
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake)
+vcpkg_cmake_config_fixup(PACKAGE_NAME cmark-gfm-extensions CONFIG_PATH lib/cmake-gfm-extensions)
+vcpkg_fixup_pkgconfig()
+
+if ("tools" IN_LIST FEATURES)
+ vcpkg_copy_tools(TOOL_NAMES cmark-gfm AUTO_CLEAN)
+endif()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/COPYING")
diff --git a/vcpkg/ports/cmark-gfm/vcpkg.json b/vcpkg/ports/cmark-gfm/vcpkg.json new file mode 100644 index 0000000..c91eac0 --- /dev/null +++ b/vcpkg/ports/cmark-gfm/vcpkg.json @@ -0,0 +1,23 @@ +{ + "name": "cmark-gfm", + "version": "0.29.0.13", + "description": "GitHub Flavored Markdown parser based on cmark.", + "homepage": "https://github.com/github/cmark-gfm", + "license": "BSD-2-Clause", + "dependencies": [ + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ], + "features": { + "tools": { + "description": "Build tools", + "supports": "!uwp" + } + } +} |