-
Notifications
You must be signed in to change notification settings - Fork 6.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[clickhouse-cpp] Update to 2.2.1 #27250
Changes from all commits
64afe31
759f569
1df298d
ed06daa
801e432
c9b788c
5e3d474
3bbb35a
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
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 () |
This file was deleted.
This file was deleted.
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"; | ||
} |
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() | ||
Comment on lines
+1
to
+3
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Abseil does not dll_export
|
||
|
||
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 | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Does this error fixed by upstream? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This error exists at upstream's master as well: https://github.com/ClickHouse/clickhouse-cpp/blob/master/clickhouse/base/socket.cpp#L30 There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Could you also submit an issue or PR on upstream to fix this issue? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Upstream PR: ClickHouse/clickhouse-cpp#230 |
||
) | ||
|
||
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() | ||
|
@@ -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) |
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", | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Port doesn't provide CMake config files |
||
"host": true | ||
} | ||
] | ||
], | ||
"features": { | ||
"openssl": { | ||
"description": "Enable OpenSSL support", | ||
"dependencies": [ | ||
"openssl" | ||
] | ||
} | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was going to push a change that minimized this patch: the indenting of this to be inside the BUILD_SHARED_LIBS was unnecessary. However, the TARGET_LINK_LIBRARIES are also different, so it made sense to leave this alone.
Thanks for your contribution to vcpkg!