aboutsummaryrefslogtreecommitdiff
path: root/ports/cppkafka
diff options
context:
space:
mode:
Diffstat (limited to 'ports/cppkafka')
-rw-r--r--ports/cppkafka/CONTROL5
-rw-r--r--ports/cppkafka/fix-dynamic.patch12
-rw-r--r--ports/cppkafka/portfile.cmake34
3 files changed, 51 insertions, 0 deletions
diff --git a/ports/cppkafka/CONTROL b/ports/cppkafka/CONTROL
new file mode 100644
index 000000000..5dec433ef
--- /dev/null
+++ b/ports/cppkafka/CONTROL
@@ -0,0 +1,5 @@
+Source: cppkafka
+Version: 0.3.1-2
+Homepage: https://github.com/mfontanini/cppkafka
+Description: cppkafka allows C++ applications to consume and produce messages using the Apache Kafka protocol. The library is built on top of librdkafka, and provides a high level API that uses modern C++ features to make it easier to write code while keeping the wrapper's performance overhead to a minimum.
+Build-Depends: boost-program-options, librdkafka
diff --git a/ports/cppkafka/fix-dynamic.patch b/ports/cppkafka/fix-dynamic.patch
new file mode 100644
index 000000000..f18a0fbf7
--- /dev/null
+++ b/ports/cppkafka/fix-dynamic.patch
@@ -0,0 +1,12 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 5d31078..b1d3634 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -43,6 +43,7 @@ target_include_directories(cppkafka PUBLIC ${PROJECT_SOURCE_DIR}/include)
+
+ install(
+ TARGETS cppkafka
++ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ COMPONENT dev
diff --git a/ports/cppkafka/portfile.cmake b/ports/cppkafka/portfile.cmake
new file mode 100644
index 000000000..fbb6e3bce
--- /dev/null
+++ b/ports/cppkafka/portfile.cmake
@@ -0,0 +1,34 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO mfontanini/cppkafka
+ REF v0.3.1
+ SHA512 60d01ce1dd9bd9119676be939ed5ab03539abb1f945c1b31e432edfe0f06542778f7fef37696f5ff19c53024f44d5cbd8aeddbbb231c38b098e05285d3ff0cab
+ HEAD_REF master
+ PATCHES fix-dynamic.patch
+)
+
+if (VCPKG_LIBRARY_LINKAGE STREQUAL "static")
+ set(CPPKAFKA_BUILD_SHARED OFF)
+else()
+ set(CPPKAFKA_BUILD_SHARED ON)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCPPKAFKA_BUILD_SHARED=${CPPKAFKA_BUILD_SHARED}
+ -DCPPKAFKA_DISABLE_TESTS=ON
+ -DCPPKAFKA_DISABLE_EXAMPLES=ON
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright) \ No newline at end of file