aboutsummaryrefslogtreecommitdiff
path: root/ports/cmark
diff options
context:
space:
mode:
authorPhil Christensen <philc@microsoft.com>2018-12-06 15:06:28 -0800
committerPhil Christensen <philc@microsoft.com>2018-12-06 15:06:28 -0800
commit7347305e8459fcc78553a9f88196e0d93eb0a8fe (patch)
treeac9eee9ff267c6a71a83249bed7a94f02b00d9a5 /ports/cmark
parented9357a5aafea7192932b5874264bd103fc61255 (diff)
parent63c1b2628e958f8e02356411f032941c0c2f3bbb (diff)
downloadvcpkg-7347305e8459fcc78553a9f88196e0d93eb0a8fe.tar.gz
vcpkg-7347305e8459fcc78553a9f88196e0d93eb0a8fe.zip
Merge branch 'master' of https://github.com/microsoft/vcpkg into dev/philc/3425
Diffstat (limited to 'ports/cmark')
-rw-r--r--ports/cmark/CONTROL3
-rw-r--r--ports/cmark/portfile.cmake47
-rw-r--r--ports/cmark/rename-shared-lib.patch12
3 files changed, 62 insertions, 0 deletions
diff --git a/ports/cmark/CONTROL b/ports/cmark/CONTROL
new file mode 100644
index 000000000..6f756e824
--- /dev/null
+++ b/ports/cmark/CONTROL
@@ -0,0 +1,3 @@
+Source: cmark
+Version: 0.28.3-2
+Description: CommonMark parsing and rendering library
diff --git a/ports/cmark/portfile.cmake b/ports/cmark/portfile.cmake
new file mode 100644
index 000000000..97324b4bf
--- /dev/null
+++ b/ports/cmark/portfile.cmake
@@ -0,0 +1,47 @@
+include(vcpkg_common_functions)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ # Note: fails due to missing cmark_export.h -- fix should be to always generate the correct export header.
+ message(FATAL_ERROR "cmark does not currently support static library linkage")
+endif()
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO commonmark/cmark
+ REF 0.28.3
+ SHA512 409105a3228a8ae22ba6acf95cd99bc9a2c20f8603aa0e803a33172eb6ef53f80f8f0262d2258b77f9fd6e1f2e9017a6c906b88f761e053c09ef88c9ffab7d29
+ HEAD_REF master
+ PATCHES
+ "${CMAKE_CURRENT_LIST_DIR}/rename-shared-lib.patch"
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" CMARK_STATIC)
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" CMARK_SHARED)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCMARK_TESTS=OFF
+ -DCMARK_SHARED=${CMARK_SHARED}
+ -DCMARK_STATIC=${CMARK_STATIC}
+)
+
+vcpkg_install_cmake()
+
+vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake)
+
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/cmark RENAME copyright)
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include ${CURRENT_PACKAGES_DIR}/debug/share)
+
+if(EXISTS ${CURRENT_PACKAGES_DIR}/bin/cmark.exe)
+ file(COPY ${CURRENT_PACKAGES_DIR}/bin/cmark.exe DESTINATION ${CURRENT_PACKAGES_DIR}/tools/cmark/)
+ vcpkg_copy_tool_dependencies(${CURRENT_PACKAGES_DIR}/tools/cmark)
+endif()
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL "static" AND NOT EXISTS ${CURRENT_PACKAGES_DIR}/bin/cmark)
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin ${CURRENT_PACKAGES_DIR}/debug/bin)
+else()
+ file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin/cmark.exe ${CURRENT_PACKAGES_DIR}/debug/bin/cmark.exe)
+endif()
diff --git a/ports/cmark/rename-shared-lib.patch b/ports/cmark/rename-shared-lib.patch
new file mode 100644
index 000000000..79439aae1
--- /dev/null
+++ b/ports/cmark/rename-shared-lib.patch
@@ -0,0 +1,12 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index d5a1936..acff569 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -83,7 +83,6 @@ if (CMARK_SHARED)
+ add_library(${LIBRARY} SHARED ${LIBRARY_SOURCES})
+ # Include minor version and patch level in soname for now.
+ set_target_properties(${LIBRARY} PROPERTIES
+- OUTPUT_NAME "cmark"
+ SOVERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}
+ VERSION ${PROJECT_VERSION})
+