diff --git a/cmake_modules/ThirdpartyToolchain.cmake b/cmake_modules/ThirdpartyToolchain.cmake index 97526305..b7008191 100644 --- a/cmake_modules/ThirdpartyToolchain.cmake +++ b/cmake_modules/ThirdpartyToolchain.cmake @@ -119,7 +119,7 @@ else() set_urls(LUCENE_SOURCE_URL "${THIRDPARTY_DIR}/${PAIMON_LUCENE_PKG_NAME}") else() set_urls(LUCENE_SOURCE_URL - "${THIRDPARTY_MIRROR_URL}https://github.com/luceneplusplus/LucenePlusPlus/archive/refs/tags/${PAIMON_LUCENE_PKG_NAME}" + "${THIRDPARTY_MIRROR_URL}https://github.com/luceneplusplus/LucenePlusPlus/archive/refs/tags/rel_${PAIMON_LUCENE_BUILD_VERSION}.tar.gz" ) endif() endif() @@ -131,7 +131,7 @@ else() set_urls(LIMONP_SOURCE_URL "${THIRDPARTY_DIR}/${PAIMON_LIMONP_PKG_NAME}") else() set_urls(LIMONP_SOURCE_URL - "${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/limonp/archive/refs/tags/${PAIMON_LIMONP_PKG_NAME}" + "${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/limonp/archive/refs/tags/v${PAIMON_LIMONP_BUILD_VERSION}.tar.gz" ) endif() endif() @@ -143,7 +143,7 @@ else() set_urls(JIEBA_SOURCE_URL "${THIRDPARTY_DIR}/${PAIMON_JIEBA_PKG_NAME}") else() set_urls(JIEBA_SOURCE_URL - "${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/cppjieba/archive/refs/tags/${PAIMON_JIEBA_PKG_NAME}" + "${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/cppjieba/archive/refs/tags/${PAIMON_JIEBA_BUILD_VERSION}.tar.gz" ) endif() endif() @@ -318,13 +318,24 @@ macro(build_lucene) get_filename_component(LUCENE_ZLIB_ROOT "${LUCENE_ZLIB_INCLUDE_DIR}" DIRECTORY) set(LUCENE_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/lucene_ep-install") + + set(LUCENE_CMAKE_CXX_FLAGS "-pthread") + if(PAIMON_USE_CXX11_ABI) + string(APPEND LUCENE_CMAKE_CXX_FLAGS " -D_GLIBCXX_USE_CXX11_ABI=1") + else() + string(APPEND LUCENE_CMAKE_CXX_FLAGS " -D_GLIBCXX_USE_CXX11_ABI=0") + endif() + set(LUCENE_CMAKE_ARGS ${EP_COMMON_CMAKE_ARGS} "-DLUCENE_BUILD_SHARED=OFF" "-DENABLE_TEST=OFF" "-DCMAKE_C_FLAGS=-pthread" - "-DCMAKE_CXX_FLAGS=-pthread" + "-DCMAKE_CXX_FLAGS=${LUCENE_CMAKE_CXX_FLAGS}" "-DCMAKE_EXE_LINKER_FLAGS=-pthread" + "-DBoost_NO_BOOST_CMAKE=ON" + "-DBoost_NO_SYSTEM_PATHS=ON" + "-DBoost_USE_STATIC_LIBS=ON" "-DBoost_INCLUDE_DIR=${BOOST_INCLUDE_DIR}" "-DBoost_LIBRARY_DIR=${BOOST_LIBRARY_DIR}" "-DBOOST_ROOT=${BOOST_INSTALL}" @@ -505,6 +516,13 @@ macro(build_boost) ${BOOST_LIBRARY_DIR}/libboost_chrono.a ${BOOST_LIBRARY_DIR}/libboost_iostreams.a) + set(BOOST_CXX_FLAGS "-fPIC") + if(PAIMON_USE_CXX11_ABI) + string(APPEND BOOST_CXX_FLAGS " -D_GLIBCXX_USE_CXX11_ABI=1") + else() + string(APPEND BOOST_CXX_FLAGS " -D_GLIBCXX_USE_CXX11_ABI=0") + endif() + externalproject_add(boost_ep URL "${THIRDPARTY_DIR}/boost/${PAIMON_BOOST_PKG_NAME}" URL_HASH "SHA256=${PAIMON_BOOST_BUILD_SHA256_CHECKSUM}" @@ -515,7 +533,7 @@ macro(build_boost) --prefix=${BOOST_INSTALL} --libdir=${BOOST_LIBRARY_DIR} link=static runtime-link=shared threading=multi variant=release - cxxflags=-fPIC install + cxxflags=${BOOST_CXX_FLAGS} install INSTALL_COMMAND bash -c "mkdir -p ${BOOST_INSTALL}/include/boost && cp -r ${BOOST_PREFIX}/src/boost_ep/libs/*/include/boost/* ${BOOST_INSTALL}/include/boost && cp -r ${BOOST_PREFIX}/src/boost_ep/libs/*/*/include/boost/* ${BOOST_INSTALL}/include/boost" BUILD_BYPRODUCTS ${BOOST_BYPRODUCTS} diff --git a/third_party/versions.txt b/third_party/versions.txt index 187217aa..51c4bec3 100644 --- a/third_party/versions.txt +++ b/third_party/versions.txt @@ -31,58 +31,72 @@ THIRDPARTY_MIRROR_URL= PAIMON_ZLIB_BUILD_VERSION=1.3.1 PAIMON_ZLIB_BUILD_SHA256_CHECKSUM=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23 PAIMON_ZLIB_PKG_NAME=zlib-${PAIMON_ZLIB_BUILD_VERSION}.tar.gz + PAIMON_ZSTD_BUILD_VERSION=1.5.7 PAIMON_ZSTD_BUILD_SHA256_CHECKSUM=eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3 PAIMON_ZSTD_PKG_NAME=zstd-${PAIMON_ZSTD_BUILD_VERSION}.tar.gz + PAIMON_SNAPPY_BUILD_VERSION=1.1.10 PAIMON_SNAPPY_BUILD_SHA256_CHECKSUM=49d831bffcc5f3d01482340fe5af59852ca2fe76c3e05df0e67203ebbe0f1d90 PAIMON_SNAPPY_PKG_NAME=snappy-${PAIMON_SNAPPY_BUILD_VERSION}.tar.gz + PAIMON_LZ4_BUILD_VERSION=v1.9.4 PAIMON_LZ4_BUILD_SHA256_CHECKSUM=0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b PAIMON_LZ4_PKG_NAME=lz4-${PAIMON_LZ4_BUILD_VERSION}.tar.gz + PAIMON_PROTOBUF_BUILD_VERSION=3.8.0 PAIMON_PROTOBUF_BUILD_SHA256_CHECKSUM=b7220b41481011305bf9100847cf294393973e869973a9661046601959b2960b PAIMON_PROTOBUF_PKG_NAME=protobuf-${PAIMON_PROTOBUF_BUILD_VERSION}.tar.gz + PAIMON_TBB_BUILD_VERSION=v2021.13.0 PAIMON_TBB_BUILD_SHA256_CHECKSUM=3ad5dd08954b39d113dc5b3f8a8dc6dc1fd5250032b7c491eb07aed5c94133e1 PAIMON_TBB_PKG_NAME=tbb-${PAIMON_TBB_BUILD_VERSION}.tar.gz + PAIMON_ORC_BUILD_VERSION=v2.1.1 PAIMON_ORC_BUILD_SHA256_CHECKSUM=1f8eef537814fdcd003de13e49c6edb35427b45eb40bafd3355f775d99a0ff99 PAIMON_ORC_PKG_NAME=orc-${PAIMON_ORC_BUILD_VERSION}.tar.gz + PAIMON_GTEST_BUILD_VERSION=1.11.0 PAIMON_GTEST_BUILD_SHA256_CHECKSUM=b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5 PAIMON_GTEST_PKG_NAME=gtest-${PAIMON_GTEST_BUILD_VERSION}.tar.gz + PAIMON_ARROW_BUILD_VERSION=17.0.0 PAIMON_ARROW_BUILD_SHA256_CHECKSUM=9d280d8042e7cf526f8c28d170d93bfab65e50f94569f6a790982a878d8d898d PAIMON_ARROW_PKG_NAME=apache-arrow-${PAIMON_ARROW_BUILD_VERSION}.tar.gz + PAIMON_AVRO_BUILD_VERSION=c499eefb48aa2db906c7bca14a047223806f36db PAIMON_AVRO_BUILD_SHA256_CHECKSUM=9771f1dcfe3c01aff7ff670e873e66d3406362f71941821d482de65f3d32d780 PAIMON_AVRO_PKG_NAME=avro-${PAIMON_AVRO_BUILD_VERSION}.tar.gz + PAIMON_FMT_BUILD_VERSION=11.2.0 PAIMON_FMT_BUILD_SHA256_CHECKSUM=bc23066d87ab3168f27cef3e97d545fa63314f5c79df5ea444d41d56f962c6af PAIMON_FMT_PKG_NAME=fmt-${PAIMON_FMT_BUILD_VERSION}.tar.gz + PAIMON_GLOG_BUILD_VERSION=v0.7.1 PAIMON_GLOG_BUILD_SHA256_CHECKSUM=00e4a87e87b7e7612f519a41e491f16623b12423620006f59f5688bfd8d13b08 PAIMON_GLOG_PKG_NAME=glog-${PAIMON_GLOG_BUILD_VERSION}.tar.gz + PAIMON_RAPIDJSON_BUILD_VERSION=232389d4f1012dddec4ef84861face2d2ba85709 PAIMON_RAPIDJSON_BUILD_SHA256_CHECKSUM=b9290a9a6d444c8e049bd589ab804e0ccf2b05dc5984a19ed5ae75d090064806 PAIMON_RAPIDJSON_PKG_NAME=rapidjson-${PAIMON_RAPIDJSON_BUILD_VERSION}.tar.gz + PAIMON_JINDOSDK_C_BUILD_VERSION=6.10.2 PAIMON_JINDOSDK_C_BUILD_SHA256_CHECKSUM=23e61c9815fab1cd88c369445bdbe1eab02cc09bafed3bb5118ecaf5b2fbc518 PAIMON_JINDOSDK_C_PKG_NAME=jindosdk-${PAIMON_JINDOSDK_C_BUILD_VERSION}.tar.gz PAIMON_LUCENE_BUILD_VERSION=3.0.9 PAIMON_LUCENE_BUILD_SHA256_CHECKSUM=4e69e29d5d79a976498ef71eab70c9c88c7014708be4450a9fda7780fe93584e -PAIMON_LUCENE_PKG_NAME=rel_${PAIMON_LUCENE_BUILD_VERSION}.tar.gz +PAIMON_LUCENE_PKG_NAME=lucene-${PAIMON_LUCENE_BUILD_VERSION}.tar.gz PAIMON_LIMONP_BUILD_VERSION=1.0.1 PAIMON_LIMONP_BUILD_SHA256_CHECKSUM=c7b18794f020dbaa1006229b49a39217a463da0cb3586aee83eb7471f4ae71df -PAIMON_LIMONP_PKG_NAME=v${PAIMON_LIMONP_BUILD_VERSION}.tar.gz +PAIMON_LIMONP_PKG_NAME=limonp-${PAIMON_LIMONP_BUILD_VERSION}.tar.gz PAIMON_JIEBA_BUILD_VERSION=v5.6.0 PAIMON_JIEBA_BUILD_SHA256_CHECKSUM=e6e517b778e0f4a99cbed1ee3eaa041616b74bc685e03a6ca08887ad9cedfe49 -PAIMON_JIEBA_PKG_NAME=${PAIMON_JIEBA_BUILD_VERSION}.tar.gz +PAIMON_JIEBA_PKG_NAME=jieba-${PAIMON_JIEBA_BUILD_VERSION}.tar.gz +# Boost source package is bundled at third_party/boost/ PAIMON_BOOST_BUILD_VERSION=1_66_0 PAIMON_BOOST_BUILD_SHA256_CHECKSUM=28e9200637800fbfd1292b2c6876189dba7e8e1c5282c71fac6515e96f7af2b0 PAIMON_BOOST_PKG_NAME=boost_${PAIMON_BOOST_BUILD_VERSION}.tar.gz @@ -106,8 +120,7 @@ DEPENDENCIES=( "PAIMON_GLOG_URL ${PAIMON_GLOG_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/google/glog/archive/${PAIMON_GLOG_BUILD_VERSION}.tar.gz" "PAIMON_RAPIDJSON_URL ${PAIMON_RAPIDJSON_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/miloyip/rapidjson/archive/${PAIMON_RAPIDJSON_BUILD_VERSION}.tar.gz" "PAIMON_JINDOSDK_C_URL ${PAIMON_JINDOSDK_C_PKG_NAME} https://jindodata-binary.oss-cn-shanghai.aliyuncs.com/release/${PAIMON_JINDOSDK_C_BUILD_VERSION}/jindosdk-${PAIMON_JINDOSDK_C_BUILD_VERSION}-linux.tar.gz" - "PAIMON_LUCENE_URL ${PAIMON_LUCENE_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/luceneplusplus/LucenePlusPlus/archive/refs/tags/${PAIMON_LUCENE_PKG_NAME}" - "PAIMON_LIMONP_URL ${PAIMON_LIMONP_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/limonp/archive/refs/tags/${PAIMON_LIMONP_PKG_NAME}" - "PAIMON_JIEBA_URL ${PAIMON_JIEBA_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/cppjieba/archive/refs/tags/${PAIMON_JIEBA_PKG_NAME}" - "PAIMON_BOOST_URL ${PAIMON_BOOST_PKG_NAME} ${THIRDPARTY_DIR}/boost/${PAIMON_BOOST_PKG_NAME}" + "PAIMON_LUCENE_URL ${PAIMON_LUCENE_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/luceneplusplus/LucenePlusPlus/archive/refs/tags/rel_${PAIMON_LUCENE_BUILD_VERSION}.tar.gz" + "PAIMON_LIMONP_URL ${PAIMON_LIMONP_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/limonp/archive/refs/tags/v${PAIMON_LIMONP_BUILD_VERSION}.tar.gz" + "PAIMON_JIEBA_URL ${PAIMON_JIEBA_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/cppjieba/archive/refs/tags/${PAIMON_JIEBA_BUILD_VERSION}.tar.gz" )