Skip to content

Commit

Permalink
[clickhouse-cpp] Update to 2.2.1 (#27250)
Browse files Browse the repository at this point in the history
* [clickhouse-cpp] Update to 2.2.1

* add feature openssl

* Fix patch

* use absl::int128

* Fix patch

* version

* fix UWP

* version
  • Loading branch information
Thomas1664 authored Oct 19, 2022
1 parent 6ee2fa9 commit ca79ebe
Show file tree
Hide file tree
Showing 8 changed files with 135 additions and 43 deletions.
88 changes: 88 additions & 0 deletions ports/clickhouse-cpp/fix-deps-and-build-type.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 31cd8a5..d8ee404 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -29,11 +29,12 @@ PROJECT (CLICKHOUSE-CLIENT)
INCLUDE_DIRECTORIES (.)
INCLUDE_DIRECTORIES (contrib)

+ find_package(absl CONFIG REQUIRED)
+ find_package(cityhash CONFIG REQUIRED)
+ find_package(lz4 CONFIG REQUIRED)
+
SUBDIRS (
clickhouse
- contrib/absl
- contrib/cityhash
- contrib/lz4
)

IF (BUILD_BENCHMARK)
diff --git a/clickhouse/CMakeLists.txt b/clickhouse/CMakeLists.txt
index d96ff88..ad1cb0d 100644
--- a/clickhouse/CMakeLists.txt
+++ b/clickhouse/CMakeLists.txt
@@ -36,19 +36,21 @@ IF (WITH_OPENSSL)
LIST(APPEND clickhouse-cpp-lib-src base/sslsocket.cpp)
ENDIF ()

-ADD_LIBRARY (clickhouse-cpp-lib SHARED ${clickhouse-cpp-lib-src})
-SET_TARGET_PROPERTIES(clickhouse-cpp-lib PROPERTIES LINKER_LANGUAGE CXX)
-TARGET_LINK_LIBRARIES (clickhouse-cpp-lib
- absl-lib
- cityhash-lib
- lz4-lib
-)
-
-ADD_LIBRARY (clickhouse-cpp-lib-static STATIC ${clickhouse-cpp-lib-src})
-TARGET_LINK_LIBRARIES (clickhouse-cpp-lib-static
- absl-lib
- cityhash-lib
- lz4-lib
+set(LIB_NAME "")
+
+if(BUILD_SHARED_LIBS)
+ ADD_LIBRARY (clickhouse-cpp-lib SHARED ${clickhouse-cpp-lib-src})
+ SET_TARGET_PROPERTIES(clickhouse-cpp-lib PROPERTIES LINKER_LANGUAGE CXX)
+ set(LIB_NAME "clickhouse-cpp-lib")
+else()
+ ADD_LIBRARY (clickhouse-cpp-lib-static STATIC ${clickhouse-cpp-lib-src})
+ set(LIB_NAME "clickhouse-cpp-lib-static")
+endif()
+
+TARGET_LINK_LIBRARIES ("${LIB_NAME}"
+ absl::base absl::numeric
+ cityhash
+ lz4::lz4
)

IF (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
@@ -68,12 +70,11 @@ IF (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
# /usr/bin/ld: CMakeFiles/simple-test.dir/main.cpp.o: undefined reference to symbol '_Unwind_Resume@@GCC_3.0'
# /usr/bin/ld: /lib/x86_64-linux-gnu/libgcc_s.so.1: error adding symbols: DSO missing from command line
# FIXME: that workaround breaks clang build on mingw
- TARGET_LINK_LIBRARIES (clickhouse-cpp-lib gcc_s)
- TARGET_LINK_LIBRARIES (clickhouse-cpp-lib-static gcc_s)
+ TARGET_LINK_LIBRARIES (${LIB_NAME} gcc_s)
ENDIF ()
ENDIF ()

-INSTALL (TARGETS clickhouse-cpp-lib clickhouse-cpp-lib-static
+INSTALL (TARGETS ${LIB_NAME}
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)
@@ -123,11 +124,9 @@ INSTALL(FILES types/type_parser.h DESTINATION include/clickhouse/types/)
INSTALL(FILES types/types.h DESTINATION include/clickhouse/types/)

IF (WITH_OPENSSL)
- TARGET_LINK_LIBRARIES (clickhouse-cpp-lib OpenSSL::SSL)
- TARGET_LINK_LIBRARIES (clickhouse-cpp-lib-static OpenSSL::SSL)
+ TARGET_LINK_LIBRARIES (${LIB_NAME} OpenSSL::SSL)
ENDIF ()

IF (WIN32 OR MINGW)
- TARGET_LINK_LIBRARIES (clickhouse-cpp-lib wsock32 ws2_32)
- TARGET_LINK_LIBRARIES (clickhouse-cpp-lib-static wsock32 ws2_32)
+ TARGET_LINK_LIBRARIES (${LIB_NAME} wsock32 ws2_32)
ENDIF ()
15 changes: 0 additions & 15 deletions ports/clickhouse-cpp/fix-error-C4996.patch

This file was deleted.

13 changes: 0 additions & 13 deletions ports/clickhouse-cpp/fix-error-c2668.patch

This file was deleted.

13 changes: 13 additions & 0 deletions ports/clickhouse-cpp/fix-uwp.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
diff --git a/clickhouse/base/socket.cpp b/clickhouse/base/socket.cpp
index c6dc920..43bbd02 100644
--- a/clickhouse/base/socket.cpp
+++ b/clickhouse/base/socket.cpp
@@ -27,7 +27,7 @@ char const* windowsErrorCategory::name() const noexcept {

std::string windowsErrorCategory::message(int c) const {
char error[UINT8_MAX];
- auto len = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, static_cast<DWORD>(c), 0, error, sizeof(error), nullptr);
+ auto len = FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM, nullptr, static_cast<DWORD>(c), 0, error, sizeof(error), nullptr);
if (len == 0) {
return "unknown";
}
24 changes: 16 additions & 8 deletions ports/clickhouse-cpp/portfile.cmake
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
if(VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
endif()

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO ClickHouse/clickhouse-cpp
REF 1415b5936a2ac2f084850b09057e05fb5798b2f1 #v1.5.0
SHA512 222b31b16744af64f0a874ec956568adcecb553e43f8d4a2d16c00d55b31015d917a4dc7bb30d5430a894459b1be5e05b292e2d0918bf6f5609046a60539f80f
REF v2.2.1
SHA512 cf9f14e6bdbf2b739a25004c8f30ef8057cf4afa618c91fc2672059869cbbbdafb72f3027863b3f731f7f2cc239d5690e5e87301bf7930b79fe71d7a4ae3f833
HEAD_REF master
PATCHES
fix-error-c2668.patch
fix-error-C4996.patch #fix x64-uwp error:std::uncaught_exception() is deprecated in C++17
PATCHES
fix-deps-and-build-type.patch
fix-uwp.patch
)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
openssl WITH_OPENSSL
)

vcpkg_cmake_configure(
SOURCE_PATH ${SOURCE_PATH}
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS ${FEATURE_OPTIONS}
)

vcpkg_cmake_install()
Expand All @@ -21,4 +29,4 @@ vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")

configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY)
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
18 changes: 12 additions & 6 deletions ports/clickhouse-cpp/vcpkg.json
Original file line number Diff line number Diff line change
@@ -1,18 +1,24 @@
{
"name": "clickhouse-cpp",
"version": "1.5.0",
"version": "2.2.1",
"description": "C++ client for Yandex ClickHouse",
"homepage": "https://github.com/ClickHouse/clickhouse-cpp",
"license": "Apache-2.0",
"dependencies": [
"abseil",
"cityhash",
"lz4",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
]
],
"features": {
"openssl": {
"description": "Enable OpenSSL support",
"dependencies": [
"openssl"
]
}
}
}
2 changes: 1 addition & 1 deletion versions/baseline.json
Original file line number Diff line number Diff line change
Expand Up @@ -1461,7 +1461,7 @@
"port-version": 0
},
"clickhouse-cpp": {
"baseline": "1.5.0",
"baseline": "2.2.1",
"port-version": 0
},
"clipboardxx": {
Expand Down
5 changes: 5 additions & 0 deletions versions/c-/clickhouse-cpp.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
{
"versions": [
{
"git-tree": "10588d8080311cbc920f1805d3dd51e5b9c27ebe",
"version": "2.2.1",
"port-version": 0
},
{
"git-tree": "14c4074d1a59fbe8b01ebe934698519c63885b8b",
"version": "1.5.0",
Expand Down

0 comments on commit ca79ebe

Please sign in to comment.