[cmark-gfm] Add port (#45440)

This commit is contained in:
Zhichao Wang 2025-05-16 07:01:21 +08:00 committed by GitHub
parent 04f5ef77a3
commit 9dd12f8d79
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 140 additions and 0 deletions

View File

@ -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

View File

@ -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")

View File

@ -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"
}
}
}

View File

@ -1780,6 +1780,10 @@
"baseline": "0.31.1",
"port-version": 0
},
"cmark-gfm": {
"baseline": "0.29.0.13",
"port-version": 0
},
"cminpack": {
"baseline": "1.3.8",
"port-version": 4

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "330cd891b722d5194481b0dae428ac7d06392448",
"version": "0.29.0.13",
"port-version": 0
}
]
}