Remove unbundled s2geometry support

This commit is contained in:
Azat Khuzhin 2022-01-17 08:53:49 +03:00
parent cf30669cc9
commit 94ba901fbd
5 changed files with 18 additions and 38 deletions

View File

@ -527,7 +527,6 @@ include (cmake/find/sqlite.cmake)
include (cmake/find/libpqxx.cmake) include (cmake/find/libpqxx.cmake)
include (cmake/find/nuraft.cmake) include (cmake/find/nuraft.cmake)
include (cmake/find/yaml-cpp.cmake) include (cmake/find/yaml-cpp.cmake)
include (cmake/find/s2geometry.cmake)
include (cmake/find/nlp.cmake) include (cmake/find/nlp.cmake)
include (cmake/find/filelog.cmake) include (cmake/find/filelog.cmake)
include (cmake/find/msgpack.cmake) include (cmake/find/msgpack.cmake)

View File

@ -1,24 +0,0 @@
option(ENABLE_S2_GEOMETRY "Enable S2 geometry library" ${ENABLE_LIBRARIES})
if (ENABLE_S2_GEOMETRY)
if (NOT EXISTS "${ClickHouse_SOURCE_DIR}/contrib/s2geometry")
message (WARNING "submodule contrib/s2geometry is missing. to fix try run: \n git submodule update --init")
set (ENABLE_S2_GEOMETRY 0)
set (USE_S2_GEOMETRY 0)
else()
#if (TARGET OpenSSL::SSL)
set (S2_GEOMETRY_LIBRARY s2)
set (S2_GEOMETRY_INCLUDE_DIR ${ClickHouse_SOURCE_DIR}/contrib/s2geometry/src/s2)
set (USE_S2_GEOMETRY 1)
#else()
# message (WARNING "S2 uses OpenSSL, but the latter is absent.")
#endif()
endif()
if (NOT USE_S2_GEOMETRY)
message (${RECONFIGURE_MESSAGE_LEVEL} "Can't enable S2 geometry library")
endif()
endif()
message (STATUS "Using s2geometry=${USE_S2_GEOMETRY} : ${S2_GEOMETRY_INCLUDE_DIR}")

View File

@ -1,3 +1,10 @@
option(ENABLE_S2_GEOMETRY "Enable S2 geometry library" ${ENABLE_LIBRARIES})
if (NOT ENABLE_S2_GEOMETRY)
message(STATUS "Not using S2 geometry")
return()
endif()
set(S2_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/s2geometry/src") set(S2_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/s2geometry/src")
set(ABSL_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/abseil-cpp") set(ABSL_SOURCE_DIR "${ClickHouse_SOURCE_DIR}/contrib/abseil-cpp")
@ -108,15 +115,17 @@ set(S2_SRCS
) )
add_library(s2 ${S2_SRCS}) add_library(_s2 ${S2_SRCS})
set_property(TARGET s2 PROPERTY CXX_STANDARD 17) add_library(ch_contrib::s2 ALIAS _s2)
set_property(TARGET _s2 PROPERTY CXX_STANDARD 17)
if (TARGET OpenSSL::SSL) if (TARGET OpenSSL::SSL)
target_link_libraries(s2 PRIVATE OpenSSL::Crypto OpenSSL::SSL) target_link_libraries(_s2 PRIVATE OpenSSL::Crypto OpenSSL::SSL)
endif() endif()
# Copied from contrib/s2geometry/CMakeLists # Copied from contrib/s2geometry/CMakeLists
target_link_libraries(s2 PRIVATE target_link_libraries(_s2 PRIVATE
absl::base absl::base
absl::btree absl::btree
absl::config absl::config
@ -138,9 +147,9 @@ target_link_libraries(s2 PRIVATE
absl::utility absl::utility
) )
target_include_directories(s2 SYSTEM BEFORE PUBLIC "${S2_SOURCE_DIR}/") target_include_directories(_s2 SYSTEM BEFORE PUBLIC "${S2_SOURCE_DIR}/")
target_include_directories(s2 SYSTEM PUBLIC "${ABSL_SOURCE_DIR}") target_include_directories(_s2 SYSTEM PUBLIC "${ABSL_SOURCE_DIR}")
if(M_LIBRARY) if(M_LIBRARY)
target_link_libraries(s2 PRIVATE ${M_LIBRARY}) target_link_libraries(_s2 PRIVATE ${M_LIBRARY})
endif() endif()

View File

@ -457,9 +457,8 @@ if (USE_AZURE_BLOB_STORAGE)
target_include_directories (clickhouse_common_io SYSTEM BEFORE PUBLIC ${AZURE_SDK_INCLUDES}) target_include_directories (clickhouse_common_io SYSTEM BEFORE PUBLIC ${AZURE_SDK_INCLUDES})
endif() endif()
if (USE_S2_GEOMETRY) if (TARGET ch_contrib::s2)
dbms_target_link_libraries (PUBLIC ${S2_GEOMETRY_LIBRARY}) dbms_target_link_libraries (PUBLIC ch_contrib::s2)
dbms_target_include_directories (SYSTEM BEFORE PUBLIC ${S2_GEOMETRY_INCLUDE_DIR})
endif() endif()
if (USE_BROTLI) if (USE_BROTLI)

View File

@ -121,9 +121,6 @@ add_subdirectory(JSONPath)
# Signed integer overflow on user-provided data inside boost::geometry - ignore. # Signed integer overflow on user-provided data inside boost::geometry - ignore.
set_source_files_properties("pointInPolygon.cpp" PROPERTIES COMPILE_FLAGS -fno-sanitize=signed-integer-overflow) set_source_files_properties("pointInPolygon.cpp" PROPERTIES COMPILE_FLAGS -fno-sanitize=signed-integer-overflow)
# target_link_libraries(clickhouse_functions PRIVATE ${S2_LIBRARY})
target_include_directories(clickhouse_functions SYSTEM PUBLIC ${S2_GEOMETRY_INCLUDE_DIR})
if (ENABLE_FUZZING) if (ENABLE_FUZZING)
add_compile_definitions(FUZZING_MODE=1) add_compile_definitions(FUZZING_MODE=1)
endif () endif ()