Skip to content

Commit 14cb02a

Browse files
Merge pull request #63279 from allmazz/mongodb_refactoring
MongoDB integration refactoring
2 parents a940a9e + de4c19e commit 14cb02a

File tree

103 files changed

+6101
-1504
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+6101
-1504
lines changed

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -363,6 +363,12 @@
363363
[submodule "contrib/double-conversion"]
364364
path = contrib/double-conversion
365365
url = https://github.com/ClickHouse/double-conversion.git
366+
[submodule "contrib/mongo-cxx-driver"]
367+
path = contrib/mongo-cxx-driver
368+
url = https://github.com/ClickHouse/mongo-cxx-driver.git
369+
[submodule "contrib/mongo-c-driver"]
370+
path = contrib/mongo-c-driver
371+
url = https://github.com/ClickHouse/mongo-c-driver.git
366372
[submodule "contrib/numactl"]
367373
path = contrib/numactl
368374
url = https://github.com/ClickHouse/numactl.git

base/poco/CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,11 @@ add_subdirectory (Data)
33
add_subdirectory (Data/ODBC)
44
add_subdirectory (Foundation)
55
add_subdirectory (JSON)
6-
add_subdirectory (MongoDB)
6+
7+
if (USE_MONGODB)
8+
add_subdirectory(MongoDB)
9+
endif()
10+
711
add_subdirectory (Net)
812
add_subdirectory (NetSSL_OpenSSL)
913
add_subdirectory (Redis)

cmake/linux/toolchain-x86_64-musl.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,4 @@ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}")
1818
set (CMAKE_ASM_FLAGS "${CMAKE_ASM_FLAGS} --gcc-toolchain=${TOOLCHAIN_PATH}")
1919

2020
set (USE_MUSL 1)
21-
add_definitions(-DUSE_MUSL=1)
21+
add_definitions(-DUSE_MUSL=1 -D__MUSL__=1)

contrib/CMakeLists.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,12 @@ add_contrib (datasketches-cpp-cmake datasketches-cpp)
160160
add_contrib (incbin-cmake incbin)
161161
add_contrib (sqids-cpp-cmake sqids-cpp)
162162

163+
option(USE_MONGODB "Enable MongoDB support" ${ENABLE_LIBRARIES})
164+
if (USE_MONGODB)
165+
add_contrib (mongo-c-driver-cmake mongo-c-driver) # requires: zlib
166+
add_contrib (mongo-cxx-driver-cmake mongo-cxx-driver) # requires: libmongoc, libbson
167+
endif()
168+
163169
option(ENABLE_NLP "Enable NLP functions support" ${ENABLE_LIBRARIES})
164170
if (ENABLE_NLP)
165171
add_contrib (libstemmer-c-cmake libstemmer_c)

contrib/mongo-c-driver

Submodule mongo-c-driver added at d55410c
Lines changed: 152 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,152 @@
1+
option(USE_MONGODB "Enable MongoDB support" ${ENABLE_LIBRARIES})
2+
if(NOT USE_MONGODB)
3+
message(STATUS "Not using libmongoc and libbson")
4+
return()
5+
endif()
6+
7+
set(libbson_VERSION_MAJOR 1)
8+
set(libbson_VERSION_MINOR 27)
9+
set(libbson_VERSION_PATCH 0)
10+
set(libbson_VERSION 1.27.0)
11+
set(libmongoc_VERSION_MAJOR 1)
12+
set(libmongoc_VERSION_MINOR 27)
13+
set(libmongoc_VERSION_PATCH 0)
14+
set(libmongoc_VERSION 1.27.0)
15+
16+
set(LIBBSON_SOURCES_ROOT "${ClickHouse_SOURCE_DIR}/contrib/mongo-c-driver/src")
17+
set(LIBBSON_SOURCE_DIR "${LIBBSON_SOURCES_ROOT}/libbson/src")
18+
file(GLOB_RECURSE LIBBSON_SOURCES "${LIBBSON_SOURCE_DIR}/*.c")
19+
20+
include(TestBigEndian)
21+
test_big_endian(BSON_BIG_ENDIAN)
22+
if(BSON_BIG_ENDIAN)
23+
set(BSON_BYTE_ORDER 4321)
24+
else()
25+
set(BSON_BYTE_ORDER 1234)
26+
endif()
27+
28+
set(BSON_OS 1)
29+
set(BSON_EXTRA_ALIGN 1)
30+
set(BSON_HAVE_SNPRINTF 1)
31+
set(BSON_HAVE_TIMESPEC 1)
32+
set(BSON_HAVE_GMTIME_R 1)
33+
set(BSON_HAVE_RAND_R 1)
34+
set(BSON_HAVE_STRINGS_H 1)
35+
set(BSON_HAVE_STRLCPY 0)
36+
set(BSON_HAVE_STRNLEN 1)
37+
set(BSON_HAVE_STDBOOL_H 1)
38+
set(BSON_HAVE_CLOCK_GETTIME 1)
39+
40+
41+
# common settings
42+
set(MONGOC_TRACE 0)
43+
set(MONGOC_ENABLE_STATIC_BUILD 1)
44+
set(MONGOC_ENABLE_DEBUG_ASSERTIONS 0)
45+
set(MONGOC_ENABLE_MONGODB_AWS_AUTH 0)
46+
set(MONGOC_ENABLE_SASL_CYRUS 0)
47+
set(MONGOC_ENABLE_SASL 0)
48+
set(MONGOC_ENABLE_SASL_SSPI 0)
49+
set(MONGOC_HAVE_SASL_CLIENT_DONE 0)
50+
set(MONGOC_ENABLE_SRV 0)
51+
52+
# DNS
53+
set(MONGOC_HAVE_DNSAPI 0)
54+
set(MONGOC_HAVE_RES_SEARCH 0)
55+
set(MONGOC_HAVE_RES_NSEARCH 0)
56+
set(MONGOC_HAVE_RES_NCLOSE 0)
57+
set(MONGOC_HAVE_RES_NDESTROY 0)
58+
59+
set(MONGOC_ENABLE_COMPRESSION 1)
60+
set(MONGOC_ENABLE_COMPRESSION_ZLIB 0)
61+
set(MONGOC_ENABLE_COMPRESSION_SNAPPY 0)
62+
set(MONGOC_ENABLE_COMPRESSION_ZSTD 1)
63+
64+
# SSL
65+
set(MONGOC_ENABLE_CRYPTO 0)
66+
set(MONGOC_ENABLE_CRYPTO_CNG 0)
67+
set(MONGOC_ENABLE_CRYPTO_COMMON_CRYPTO 0)
68+
set(MONGOC_ENABLE_CRYPTO_SYSTEM_PROFILE 0)
69+
set(MONGOC_ENABLE_SSL 0)
70+
set(MONGOC_ENABLE_SSL_OPENSSL 0)
71+
set(MONGOC_ENABLE_SSL_SECURE_CHANNEL 0)
72+
set(MONGOC_ENABLE_SSL_SECURE_TRANSPORT 0)
73+
set(MONGOC_ENABLE_SSL_LIBRESSL 0)
74+
set(MONGOC_ENABLE_CRYPTO_LIBCRYPTO 0)
75+
set(MONGOC_ENABLE_CLIENT_SIDE_ENCRYPTION 0)
76+
set(MONGOC_HAVE_ASN1_STRING_GET0_DATA 0)
77+
if(ENABLE_SSL)
78+
set(MONGOC_ENABLE_SSL 1)
79+
set(MONGOC_ENABLE_CRYPTO 1)
80+
set(MONGOC_ENABLE_SSL_OPENSSL 1)
81+
set(MONGOC_ENABLE_CRYPTO_LIBCRYPTO 1)
82+
set(MONGOC_HAVE_ASN1_STRING_GET0_DATA 1)
83+
else()
84+
message(WARNING "Building mongoc without SSL")
85+
endif()
86+
87+
set(CMAKE_EXTRA_INCLUDE_FILES "sys/socket.h")
88+
set(MONGOC_SOCKET_ARG2 "struct sockaddr")
89+
set(MONGOC_HAVE_SOCKLEN 1)
90+
set(MONGOC_SOCKET_ARG3 "socklen_t")
91+
92+
set(MONGOC_ENABLE_RDTSCP 0)
93+
set(MONGOC_NO_AUTOMATIC_GLOBALS 1)
94+
set(MONGOC_ENABLE_STATIC_INSTALL 0)
95+
set(MONGOC_ENABLE_SHM_COUNTERS 0)
96+
set(MONGOC_HAVE_SCHED_GETCPU 0)
97+
set(MONGOC_HAVE_SS_FAMILY 0)
98+
99+
configure_file(
100+
${LIBBSON_SOURCE_DIR}/bson/bson-config.h.in
101+
${LIBBSON_SOURCE_DIR}/bson/bson-config.h
102+
)
103+
configure_file(
104+
${LIBBSON_SOURCE_DIR}/bson/bson-version.h.in
105+
${LIBBSON_SOURCE_DIR}/bson/bson-version.h
106+
)
107+
108+
configure_file(
109+
${LIBBSON_SOURCE_DIR}/bson/bson-version.h.in
110+
${LIBBSON_SOURCE_DIR}/bson/bson-version.h
111+
)
112+
113+
set(COMMON_SOURCE_DIR "${LIBBSON_SOURCES_ROOT}/common")
114+
file(GLOB_RECURSE COMMON_SOURCES "${COMMON_SOURCE_DIR}/*.c")
115+
configure_file(
116+
${COMMON_SOURCE_DIR}/common-config.h.in
117+
${COMMON_SOURCE_DIR}/common-config.h
118+
)
119+
add_library(_libbson ${LIBBSON_SOURCES} ${COMMON_SOURCES})
120+
add_library(ch_contrib::libbson ALIAS _libbson)
121+
target_include_directories(_libbson SYSTEM PUBLIC ${LIBBSON_SOURCE_DIR} ${COMMON_SOURCE_DIR})
122+
target_compile_definitions(_libbson PRIVATE BSON_COMPILATION)
123+
if(OS_LINUX)
124+
target_compile_definitions(_libbson PRIVATE -D_GNU_SOURCE -D_POSIX_C_SOURCE=199309L -D_XOPEN_SOURCE=600)
125+
elseif(OS_DARWIN)
126+
target_compile_definitions(_libbson PRIVATE -D_DARWIN_C_SOURCE)
127+
endif()
128+
129+
130+
set(LIBMONGOC_SOURCE_DIR "${LIBBSON_SOURCES_ROOT}/libmongoc/src")
131+
file(GLOB_RECURSE LIBMONGOC_SOURCES "${LIBMONGOC_SOURCE_DIR}/*.c")
132+
set(UTF8PROC_SOURCE_DIR "${LIBBSON_SOURCES_ROOT}/utf8proc-2.8.0")
133+
set(UTF8PROC_SOURCES "${UTF8PROC_SOURCE_DIR}/utf8proc.c")
134+
set(UTHASH_SOURCE_DIR "${LIBBSON_SOURCES_ROOT}/uthash")
135+
136+
configure_file(
137+
${LIBMONGOC_SOURCE_DIR}/mongoc/mongoc-config.h.in
138+
${LIBMONGOC_SOURCE_DIR}/mongoc/mongoc-config.h
139+
)
140+
configure_file(
141+
${LIBMONGOC_SOURCE_DIR}/mongoc/mongoc-version.h.in
142+
${LIBMONGOC_SOURCE_DIR}/mongoc/mongoc-version.h
143+
)
144+
add_library(_libmongoc ${LIBMONGOC_SOURCES} ${COMMON_SOURCES} ${UTF8PROC_SOURCES})
145+
add_library(ch_contrib::libmongoc ALIAS _libmongoc)
146+
target_include_directories(_libmongoc SYSTEM PUBLIC ${LIBMONGOC_SOURCE_DIR} ${COMMON_SOURCE_DIR} ${UTF8PROC_SOURCE_DIR} ${UTHASH_SOURCE_DIR})
147+
target_include_directories(_libmongoc SYSTEM PRIVATE ${LIBMONGOC_SOURCE_DIR}/mongoc ${UTHASH_SOURCE_DIR})
148+
target_compile_definitions(_libmongoc PRIVATE MONGOC_COMPILATION)
149+
target_link_libraries(_libmongoc ch_contrib::libbson ch_contrib::c-ares ch_contrib::zstd)
150+
if(ENABLE_SSL)
151+
target_link_libraries(_libmongoc OpenSSL::SSL)
152+
endif()

contrib/mongo-cxx-driver

Submodule mongo-cxx-driver added at 3166bdb
Lines changed: 189 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,189 @@
1+
option(USE_MONGODB "Enable MongoDB support" ${ENABLE_LIBRARIES})
2+
3+
if(NOT USE_MONGODB)
4+
message(STATUS "Not using mongocxx and bsoncxx")
5+
return()
6+
endif()
7+
8+
set(BSONCXX_SOURCES_DIR "${ClickHouse_SOURCE_DIR}/contrib/mongo-cxx-driver/src/bsoncxx")
9+
set(BSONCXX_SOURCES
10+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/array/element.cpp
11+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/array/value.cpp
12+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/array/view.cpp
13+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/builder/core.cpp
14+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/decimal128.cpp
15+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/document/element.cpp
16+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/document/value.cpp
17+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/document/view.cpp
18+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/exception/error_code.cpp
19+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/json.cpp
20+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/oid.cpp
21+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/private/itoa.cpp
22+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/string/view_or_value.cpp
23+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/types.cpp
24+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/types/bson_value/value.cpp
25+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/types/bson_value/view.cpp
26+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/validate.cpp
27+
)
28+
set(BSONCXX_POLY_USE_IMPLS ON)
29+
30+
configure_file(
31+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/config/config.hpp.in
32+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/config/config.hpp
33+
)
34+
configure_file(
35+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/config/version.hpp.in
36+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/config/version.hpp
37+
)
38+
configure_file(
39+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/config/private/config.hh.in
40+
${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/config/private/config.hh
41+
)
42+
43+
add_library(_bsoncxx ${BSONCXX_SOURCES})
44+
add_library(ch_contrib::bsoncxx ALIAS _bsoncxx)
45+
target_include_directories(_bsoncxx SYSTEM PUBLIC "${BSONCXX_SOURCES_DIR}/include/bsoncxx/v_noabi" ${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi)
46+
target_compile_definitions(_bsoncxx PUBLIC BSONCXX_STATIC)
47+
target_link_libraries(_bsoncxx ch_contrib::libbson)
48+
49+
include(GenerateExportHeader)
50+
generate_export_header(_bsoncxx
51+
BASE_NAME BSONCXX
52+
EXPORT_MACRO_NAME BSONCXX_API
53+
NO_EXPORT_MACRO_NAME BSONCXX_PRIVATE
54+
EXPORT_FILE_NAME ${BSONCXX_SOURCES_DIR}/lib/bsoncxx/v_noabi/bsoncxx/config/export.hpp
55+
STATIC_DEFINE BSONCXX_STATIC
56+
)
57+
58+
59+
60+
set(MONGOCXX_SOURCES_DIR "${ClickHouse_SOURCE_DIR}/contrib/mongo-cxx-driver/src/mongocxx")
61+
set(MONGOCXX_SOURCES
62+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/bulk_write.cpp
63+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/change_stream.cpp
64+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/client.cpp
65+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/client_encryption.cpp
66+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/client_session.cpp
67+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/collection.cpp
68+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/cursor.cpp
69+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/database.cpp
70+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/command_failed_event.cpp
71+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/command_started_event.cpp
72+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/command_succeeded_event.cpp
73+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/heartbeat_failed_event.cpp
74+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/heartbeat_started_event.cpp
75+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/heartbeat_succeeded_event.cpp
76+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/server_changed_event.cpp
77+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/server_closed_event.cpp
78+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/server_description.cpp
79+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/server_opening_event.cpp
80+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/topology_changed_event.cpp
81+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/topology_closed_event.cpp
82+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/topology_description.cpp
83+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/events/topology_opening_event.cpp
84+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/exception/error_code.cpp
85+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/exception/operation_exception.cpp
86+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/exception/server_error_code.cpp
87+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/gridfs/bucket.cpp
88+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/gridfs/downloader.cpp
89+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/gridfs/uploader.cpp
90+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/hint.cpp
91+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/index_model.cpp
92+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/index_view.cpp
93+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/instance.cpp
94+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/logger.cpp
95+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/model/delete_many.cpp
96+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/model/delete_one.cpp
97+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/model/insert_one.cpp
98+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/model/replace_one.cpp
99+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/model/update_many.cpp
100+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/model/update_one.cpp
101+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/model/write.cpp
102+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/aggregate.cpp
103+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/apm.cpp
104+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/auto_encryption.cpp
105+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/bulk_write.cpp
106+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/change_stream.cpp
107+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/client.cpp
108+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/client_encryption.cpp
109+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/client_session.cpp
110+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/count.cpp
111+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/create_collection.cpp
112+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/data_key.cpp
113+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/delete.cpp
114+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/distinct.cpp
115+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/encrypt.cpp
116+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/estimated_document_count.cpp
117+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/find.cpp
118+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/find_one_and_delete.cpp
119+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/find_one_and_replace.cpp
120+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/find_one_and_update.cpp
121+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/gridfs/bucket.cpp
122+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/gridfs/upload.cpp
123+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/index.cpp
124+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/index_view.cpp
125+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/insert.cpp
126+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/pool.cpp
127+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/range.cpp
128+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/replace.cpp
129+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/rewrap_many_datakey.cpp
130+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/server_api.cpp
131+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/tls.cpp
132+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/transaction.cpp
133+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/options/update.cpp
134+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/pipeline.cpp
135+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/pool.cpp
136+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/private/conversions.cpp
137+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/private/libbson.cpp
138+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/private/libmongoc.cpp
139+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/private/numeric_casting.cpp
140+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/read_concern.cpp
141+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/read_preference.cpp
142+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/result/bulk_write.cpp
143+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/result/delete.cpp
144+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/result/gridfs/upload.cpp
145+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/result/insert_many.cpp
146+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/result/insert_one.cpp
147+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/result/replace_one.cpp
148+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/result/rewrap_many_datakey.cpp
149+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/result/update.cpp
150+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/search_index_model.cpp
151+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/search_index_view.cpp
152+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/uri.cpp
153+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/validation_criteria.cpp
154+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/write_concern.cpp
155+
)
156+
set(MONGOCXX_COMPILER_VERSION "${CMAKE_CXX_COMPILER_VERSION}")
157+
set(MONGOCXX_COMPILER_ID "${CMAKE_CXX_COMPILER_ID}")
158+
set(MONGOCXX_LINK_WITH_STATIC_MONGOC 1)
159+
set(MONGOCXX_BUILD_STATIC 1)
160+
if(ENABLE_SSL)
161+
set(MONGOCXX_ENABLE_SSL 1)
162+
endif()
163+
164+
configure_file(
165+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/config/config.hpp.in
166+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/config/config.hpp
167+
)
168+
configure_file(
169+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/config/version.hpp.in
170+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/config/version.hpp
171+
)
172+
configure_file(
173+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/config/private/config.hh.in
174+
${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/config/private/config.hh
175+
)
176+
177+
add_library(_mongocxx ${MONGOCXX_SOURCES})
178+
add_library(ch_contrib::mongocxx ALIAS _mongocxx)
179+
target_include_directories(_mongocxx SYSTEM PUBLIC "${MONGOCXX_SOURCES_DIR}/include/mongocxx/v_noabi" ${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi)
180+
target_compile_definitions(_mongocxx PUBLIC MONGOCXX_STATIC)
181+
target_link_libraries(_mongocxx ch_contrib::bsoncxx ch_contrib::libmongoc)
182+
183+
generate_export_header(_mongocxx
184+
BASE_NAME MONGOCXX
185+
EXPORT_MACRO_NAME MONGOCXX_API
186+
NO_EXPORT_MACRO_NAME MONGOCXX_PRIVATE
187+
EXPORT_FILE_NAME ${MONGOCXX_SOURCES_DIR}/lib/mongocxx/v_noabi/mongocxx/config/export.hpp
188+
STATIC_DEFINE MONGOCXX_STATIC
189+
)

contrib/sysroot

0 commit comments

Comments
 (0)