Update libraries

This commit is contained in:
kssenii 2020-12-14 21:33:02 +00:00
parent d95e8e2d74
commit 2ab07fbd71
5 changed files with 77 additions and 51 deletions

View File

@ -11,7 +11,7 @@ if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/libpqxx/CMakeLists.txt")
return() return()
endif() endif()
if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/libpq") if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/libpq/include")
message (ERROR "submodule contrib/libpq is missing. to fix try run: \n git submodule update --init --recursive") message (ERROR "submodule contrib/libpq is missing. to fix try run: \n git submodule update --init --recursive")
message (${RECONFIGURE_MESSAGE_LEVEL} "Can't find internal libpq needed for libpqxx") message (${RECONFIGURE_MESSAGE_LEVEL} "Can't find internal libpq needed for libpqxx")
set (USE_LIBPQXX 0) set (USE_LIBPQXX 0)

2
contrib/libpq vendored

@ -1 +1 @@
Subproject commit d94250f91457f11de6a37f7a6ba162601ddead27 Subproject commit d53cfd7f5237e0765ca4c12c6408fdd722b954e1

View File

@ -5,7 +5,6 @@ set(SRCS
${LIBPQ_SOURCE_DIR}/fe-auth-scram.c ${LIBPQ_SOURCE_DIR}/fe-auth-scram.c
${LIBPQ_SOURCE_DIR}/fe-connect.c ${LIBPQ_SOURCE_DIR}/fe-connect.c
${LIBPQ_SOURCE_DIR}/fe-exec.c ${LIBPQ_SOURCE_DIR}/fe-exec.c
# ${LIBPQ_SOURCE_DIR}/fe-gssapi-common.c
${LIBPQ_SOURCE_DIR}/fe-lobj.c ${LIBPQ_SOURCE_DIR}/fe-lobj.c
${LIBPQ_SOURCE_DIR}/fe-misc.c ${LIBPQ_SOURCE_DIR}/fe-misc.c
${LIBPQ_SOURCE_DIR}/fe-print.c ${LIBPQ_SOURCE_DIR}/fe-print.c
@ -13,7 +12,6 @@ set(SRCS
${LIBPQ_SOURCE_DIR}/fe-protocol3.c ${LIBPQ_SOURCE_DIR}/fe-protocol3.c
${LIBPQ_SOURCE_DIR}/fe-secure.c ${LIBPQ_SOURCE_DIR}/fe-secure.c
${LIBPQ_SOURCE_DIR}/fe-secure-common.c ${LIBPQ_SOURCE_DIR}/fe-secure-common.c
# ${LIBPQ_SOURCE_DIR}/fe-secure-gssapi.c
${LIBPQ_SOURCE_DIR}/fe-secure-openssl.c ${LIBPQ_SOURCE_DIR}/fe-secure-openssl.c
${LIBPQ_SOURCE_DIR}/legacy-pqsignal.c ${LIBPQ_SOURCE_DIR}/legacy-pqsignal.c
${LIBPQ_SOURCE_DIR}/libpq-events.c ${LIBPQ_SOURCE_DIR}/libpq-events.c
@ -30,8 +28,6 @@ set(SRCS
${LIBPQ_SOURCE_DIR}/common/base64.c ${LIBPQ_SOURCE_DIR}/common/base64.c
${LIBPQ_SOURCE_DIR}/common/link-canary.c ${LIBPQ_SOURCE_DIR}/common/link-canary.c
${LIBPQ_SOURCE_DIR}/common/fe_memutils.c ${LIBPQ_SOURCE_DIR}/common/fe_memutils.c
${LIBPQ_SOURCE_DIR}/common/sha2.c
${LIBPQ_SOURCE_DIR}/common/sha2_openssl.c
${LIBPQ_SOURCE_DIR}/common/string.c ${LIBPQ_SOURCE_DIR}/common/string.c
${LIBPQ_SOURCE_DIR}/common/pg_get_line.c ${LIBPQ_SOURCE_DIR}/common/pg_get_line.c
${LIBPQ_SOURCE_DIR}/common/stringinfo.c ${LIBPQ_SOURCE_DIR}/common/stringinfo.c
@ -43,34 +39,19 @@ set(SRCS
${LIBPQ_SOURCE_DIR}/port/strerror.c ${LIBPQ_SOURCE_DIR}/port/strerror.c
${LIBPQ_SOURCE_DIR}/port/inet_net_ntop.c ${LIBPQ_SOURCE_DIR}/port/inet_net_ntop.c
${LIBPQ_SOURCE_DIR}/port/getpeereid.c ${LIBPQ_SOURCE_DIR}/port/getpeereid.c
${LIBPQ_SOURCE_DIR}/port/chklocale.c ${LIBPQ_SOURCE_DIR}/port/chklocale.c
${LIBPQ_SOURCE_DIR}/port/dirmod.c
${LIBPQ_SOURCE_DIR}/port/dlopen.c
${LIBPQ_SOURCE_DIR}/port/erand48.c
${LIBPQ_SOURCE_DIR}/port/explicit_bzero.c
${LIBPQ_SOURCE_DIR}/port/fls.c
${LIBPQ_SOURCE_DIR}/port/getopt.c
${LIBPQ_SOURCE_DIR}/port/kill.c
${LIBPQ_SOURCE_DIR}/port/link.c
${LIBPQ_SOURCE_DIR}/port/noblock.c ${LIBPQ_SOURCE_DIR}/port/noblock.c
${LIBPQ_SOURCE_DIR}/port/open.c
${LIBPQ_SOURCE_DIR}/port/path.c
${LIBPQ_SOURCE_DIR}/port/pg_strong_random.c ${LIBPQ_SOURCE_DIR}/port/pg_strong_random.c
${LIBPQ_SOURCE_DIR}/port/pgstrcasecmp.c ${LIBPQ_SOURCE_DIR}/port/pgstrcasecmp.c
${LIBPQ_SOURCE_DIR}/port/thread.c ${LIBPQ_SOURCE_DIR}/port/thread.c
${LIBPQ_SOURCE_DIR}/error/elog.c
${LIBPQ_SOURCE_DIR}/error/errlog.c
) )
add_library(libpq ${SRCS}) add_library(libpq ${SRCS})
target_include_directories (libpq PUBLIC ${LIBPQ_SOURCE_DIR}/configs)
target_include_directories (libpq PUBLIC ${LIBPQ_SOURCE_DIR}) target_include_directories (libpq PUBLIC ${LIBPQ_SOURCE_DIR})
target_include_directories (libpq PUBLIC ${LIBPQ_SOURCE_DIR}/include) target_include_directories (libpq PUBLIC ${LIBPQ_SOURCE_DIR}/include)
target_include_directories (libpq PRIVATE ${LIBPQ_SOURCE_DIR}/configs)
target_include_directories (libpq PRIVATE ${LIBPQ_SOURCE_DIR}/include/common) target_include_directories (libpq PRIVATE ${LIBPQ_SOURCE_DIR}/include/common)
target_include_directories (libpq PRIVATE ${LIBPQ_SOURCE_DIR}/include/libpq) target_include_directories (libpq PRIVATE ${LIBPQ_SOURCE_DIR}/include/libpq)

2
contrib/libpqxx vendored

@ -1 +1 @@
Subproject commit aa8aa6cb48fcb8ccabc22a0df78f1250279cd233 Subproject commit 58d2a028d1600225ac3a478d6b3a06ba2f0c01f6

View File

@ -1,33 +1,78 @@
set (LIBRARY_DIR ${ClickHouse_SOURCE_DIR}/contrib/libpqxx) set (LIBRARY_DIR ${ClickHouse_SOURCE_DIR}/contrib/libpqxx)
set (SRCS set (SRCS
${LIBRARY_DIR}/src/strconv.cxx ${LIBRARY_DIR}/src/strconv.cxx
${LIBRARY_DIR}/src/array.cxx ${LIBRARY_DIR}/src/array.cxx
${LIBRARY_DIR}/src/binarystring.cxx ${LIBRARY_DIR}/src/binarystring.cxx
${LIBRARY_DIR}/src/connection.cxx ${LIBRARY_DIR}/src/connection.cxx
${LIBRARY_DIR}/src/cursor.cxx ${LIBRARY_DIR}/src/cursor.cxx
${LIBRARY_DIR}/src/encodings.cxx ${LIBRARY_DIR}/src/encodings.cxx
${LIBRARY_DIR}/src/errorhandler.cxx ${LIBRARY_DIR}/src/errorhandler.cxx
${LIBRARY_DIR}/src/except.cxx ${LIBRARY_DIR}/src/except.cxx
${LIBRARY_DIR}/src/field.cxx ${LIBRARY_DIR}/src/field.cxx
${LIBRARY_DIR}/src/largeobject.cxx ${LIBRARY_DIR}/src/largeobject.cxx
${LIBRARY_DIR}/src/notification.cxx ${LIBRARY_DIR}/src/notification.cxx
${LIBRARY_DIR}/src/pipeline.cxx ${LIBRARY_DIR}/src/pipeline.cxx
${LIBRARY_DIR}/src/result.cxx ${LIBRARY_DIR}/src/result.cxx
${LIBRARY_DIR}/src/robusttransaction.cxx ${LIBRARY_DIR}/src/robusttransaction.cxx
${LIBRARY_DIR}/src/sql_cursor.cxx ${LIBRARY_DIR}/src/sql_cursor.cxx
${LIBRARY_DIR}/src/stream_from.cxx ${LIBRARY_DIR}/src/stream_from.cxx
${LIBRARY_DIR}/src/stream_to.cxx ${LIBRARY_DIR}/src/stream_to.cxx
${LIBRARY_DIR}/src/subtransaction.cxx ${LIBRARY_DIR}/src/subtransaction.cxx
${LIBRARY_DIR}/src/transaction.cxx ${LIBRARY_DIR}/src/transaction.cxx
${LIBRARY_DIR}/src/transaction_base.cxx ${LIBRARY_DIR}/src/transaction_base.cxx
${LIBRARY_DIR}/src/row.cxx ${LIBRARY_DIR}/src/row.cxx
${LIBRARY_DIR}/src/util.cxx ${LIBRARY_DIR}/src/util.cxx
${LIBRARY_DIR}/src/version.cxx ${LIBRARY_DIR}/src/version.cxx
) )
add_library(libpqxx ${SRCS}) # Need to explicitly include each header file, because in the directory include/pqxx there are also files
target_link_libraries(libpqxx PRIVATE ${LIBPQ_LIBRARY}) # like just 'array'. So if including the whole directory with `target_include_directories`, it will make
# conflicts with all includes of <array>.
set (HDRS
${LIBRARY_DIR}/include/pqxx/array.hxx
${LIBRARY_DIR}/include/pqxx/binarystring.hxx
${LIBRARY_DIR}/include/pqxx/composite.hxx
${LIBRARY_DIR}/include/pqxx/connection.hxx
${LIBRARY_DIR}/include/pqxx/cursor.hxx
${LIBRARY_DIR}/include/pqxx/dbtransaction.hxx
${LIBRARY_DIR}/include/pqxx/errorhandler.hxx
${LIBRARY_DIR}/include/pqxx/except.hxx
${LIBRARY_DIR}/include/pqxx/field.hxx
${LIBRARY_DIR}/include/pqxx/isolation.hxx
${LIBRARY_DIR}/include/pqxx/largeobject.hxx
${LIBRARY_DIR}/include/pqxx/nontransaction.hxx
${LIBRARY_DIR}/include/pqxx/notification.hxx
${LIBRARY_DIR}/include/pqxx/pipeline.hxx
${LIBRARY_DIR}/include/pqxx/prepared_statement.hxx
${LIBRARY_DIR}/include/pqxx/result.hxx
${LIBRARY_DIR}/include/pqxx/robusttransaction.hxx
${LIBRARY_DIR}/include/pqxx/row.hxx
${LIBRARY_DIR}/include/pqxx/separated_list.hxx
${LIBRARY_DIR}/include/pqxx/strconv.hxx
${LIBRARY_DIR}/include/pqxx/stream_from.hxx
${LIBRARY_DIR}/include/pqxx/stream_to.hxx
${LIBRARY_DIR}/include/pqxx/subtransaction.hxx
${LIBRARY_DIR}/include/pqxx/transaction.hxx
${LIBRARY_DIR}/include/pqxx/transaction_base.hxx
${LIBRARY_DIR}/include/pqxx/types.hxx
${LIBRARY_DIR}/include/pqxx/util.hxx
${LIBRARY_DIR}/include/pqxx/version.hxx
${LIBRARY_DIR}/include/pqxx/zview.hxx
)
add_library(libpqxx ${SRCS} ${HDRS})
target_link_libraries(libpqxx PUBLIC ${LIBPQ_LIBRARY})
target_include_directories (libpqxx PRIVATE ${LIBRARY_DIR}/include)
# crutch
set(CM_CONFIG_H_IN "${LIBRARY_DIR}/include/pqxx/config.h.in")
set(CM_CONFIG_PUB "${LIBRARY_DIR}/include/pqxx/config-public-compiler.h")
set(CM_CONFIG_INT "${LIBRARY_DIR}/include/pqxx/config-internal-compiler.h")
set(CM_CONFIG_PQ "${LIBRARY_DIR}/include/pqxx/config-internal-libpq.h")
configure_file("${CM_CONFIG_H_IN}" "${CM_CONFIG_INT}" @ONLY)
configure_file("${CM_CONFIG_H_IN}" "${CM_CONFIG_PUB}" @ONLY)
configure_file("${CM_CONFIG_H_IN}" "${CM_CONFIG_PQ}" @ONLY)
target_include_directories (libpqxx SYSTEM BEFORE PRIVATE ${LIBRARY_DIR}/include)
target_include_directories (libpqxx PRIVATE ${LIBRARY_DIR}/include/pqxx)