aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/cmark-gfm
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/cmark-gfm')
-rw-r--r--vcpkg/ports/cmark-gfm/add-feature-tools.patch61
-rw-r--r--vcpkg/ports/cmark-gfm/portfile.cmake43
-rw-r--r--vcpkg/ports/cmark-gfm/vcpkg.json23
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"
+ }
+ }
+}