aboutsummaryrefslogtreecommitdiff
path: root/ports/librdkafka
diff options
context:
space:
mode:
authormyd7349 <myd7349@gmail.com>2019-04-07 20:13:27 +0800
committermyd7349 <myd7349@gmail.com>2019-05-07 19:21:43 +0800
commitd1b1ae1a102a801f28c0f7aee976dace396a95ff (patch)
treed20825dd19d897782c8fd891f447177a558b440b /ports/librdkafka
parent7c73e98b9f82af47d5a5282582d1935361055a6b (diff)
downloadvcpkg-d1b1ae1a102a801f28c0f7aee976dace396a95ff.tar.gz
vcpkg-d1b1ae1a102a801f28c0f7aee976dace396a95ff.zip
[librdkafka] Rename package to librdkafka (#5927)
Diffstat (limited to 'ports/librdkafka')
-rw-r--r--ports/librdkafka/CONTROL20
-rw-r--r--ports/librdkafka/portfile.cmake89
2 files changed, 109 insertions, 0 deletions
diff --git a/ports/librdkafka/CONTROL b/ports/librdkafka/CONTROL
new file mode 100644
index 000000000..ceeb970f0
--- /dev/null
+++ b/ports/librdkafka/CONTROL
@@ -0,0 +1,20 @@
+Source: librdkafka
+Version: v1.0.0-1
+Description: The Apache Kafka C/C++ library
+Default-Features: ssl
+
+Feature: lz4
+Description: Enable external LZ4 library support
+Build-Depends: lz4
+
+Feature: ssl
+Description: Build with OpenSSL
+Build-Depends: openssl
+
+Feature: zlib
+Description: Build with zlib
+Build-Depends: zlib
+
+Feature: zstd
+Description: Build with zstd
+Build-Depends: zstd
diff --git a/ports/librdkafka/portfile.cmake b/ports/librdkafka/portfile.cmake
new file mode 100644
index 000000000..ee008a14d
--- /dev/null
+++ b/ports/librdkafka/portfile.cmake
@@ -0,0 +1,89 @@
+include(vcpkg_common_functions)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO edenhill/librdkafka
+ REF v1.0.0
+ SHA512 15ac1e4c9042debf8d4df602ccdc5eccae3a37b305be24d724fcaffc3d1d0aafa708fc8e29d6af51f51ed6c7daf74b3041b8b9b0444e6702cd73479c8078859a
+ HEAD_REF master
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" RDKAFKA_BUILD_STATIC)
+
+if("lz4" IN_LIST FEATURES)
+ set(ENABLE_LZ4_EXT ON)
+else()
+ set(ENABLE_LZ4_EXT OFF)
+endif()
+
+if("ssl" IN_LIST FEATURES)
+ set(WITH_SSL ON)
+else()
+ set(WITH_SSL OFF)
+endif()
+
+if("zlib" IN_LIST FEATURES)
+ set(WITH_ZLIB ON)
+else()
+ set(WITH_ZLIB OFF)
+endif()
+
+if("zstd" IN_LIST FEATURES)
+ set(WITH_ZSTD ON)
+else()
+ set(WITH_ZSTD OFF)
+endif()
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DRDKAFKA_BUILD_STATIC=${RDKAFKA_BUILD_STATIC}
+ -DRDKAFKA_BUILD_EXAMPLES=OFF
+ -DRDKAFKA_BUILD_TESTS=OFF
+ -DENABLE_LZ4_EXT=${ENABLE_LZ4_EXT}
+ -DWITH_SSL=${WITH_SSL}
+ -DWITH_BUNDLED_SSL=OFF
+ -DWITH_ZLIB=${WITH_ZLIB}
+ -DWITH_ZSTD=${WITH_ZSTD}
+ OPTIONS_DEBUG
+ -DENABLE_DEVEL=ON
+ -DENABLE_REFCNT_DEBUG=ON
+ -DENABLE_SHAREDPTR_DEBUG=ON
+ -DWITHOUT_OPTIMIZATION=ON
+ OPTIONS_RELEASE
+ -DENABLE_DEVEL=OFF
+ -DENABLE_REFCNT_DEBUG=OFF
+ -DENABLE_SHAREDPTR_DEBUG=OFF
+ -DWITHOUT_OPTIMIZATION=OFF
+)
+
+vcpkg_install_cmake()
+
+vcpkg_copy_pdbs()
+
+vcpkg_fixup_cmake_targets(
+ CONFIG_PATH lib/cmake/RdKafka
+ TARGET_PATH share/rdkafka
+)
+
+file(REMOVE_RECURSE
+ ${CURRENT_PACKAGES_DIR}/debug/include
+ ${CURRENT_PACKAGES_DIR}/debug/share
+)
+
+if(VCPKG_LIBRARY_LINKAGE STREQUAL static)
+ foreach(hdr rdkafka.h rdkafkacpp.h)
+ vcpkg_replace_string(
+ ${CURRENT_PACKAGES_DIR}/include/librdkafka/${hdr}
+ "#ifdef LIBRDKAFKA_STATICLIB"
+ "#if 1 // #ifdef LIBRDKAFKA_STATICLIB"
+ )
+ endforeach()
+endif()
+
+# Handle copyright
+configure_file(${SOURCE_PATH}/LICENSE ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
+
+# CMake integration test
+#vcpkg_test_cmake(PACKAGE_NAME ${PORT})