Skip to content

Commit b54e6ce

Browse files
authored
Cherry pick #133 to release 0.1 (#189)
1 parent 57666d3 commit b54e6ce

3 files changed

Lines changed: 45 additions & 13 deletions

File tree

cmake_modules/DefineOptions.cmake

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
116116
"If on, only git-diff files will be passed to linting tools" ON)
117117

118118
define_option_string(PAIMON_LINT_GIT_TARGET_COMMIT
119-
"target commit/branch for comparison in git diff" "origin/main")
119+
"target commit/branch for comparison in git diff"
120+
"origin/release-0.1")
120121

121122
define_option(PAIMON_GENERATE_COVERAGE "Build with C++ code coverage enabled" OFF)
122123

cmake_modules/ThirdpartyToolchain.cmake

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ else()
119119
set_urls(LUCENE_SOURCE_URL "${THIRDPARTY_DIR}/${PAIMON_LUCENE_PKG_NAME}")
120120
else()
121121
set_urls(LUCENE_SOURCE_URL
122-
"${THIRDPARTY_MIRROR_URL}https://github.com/luceneplusplus/LucenePlusPlus/archive/refs/tags/${PAIMON_LUCENE_PKG_NAME}"
122+
"${THIRDPARTY_MIRROR_URL}https://github.com/luceneplusplus/LucenePlusPlus/archive/refs/tags/rel_${PAIMON_LUCENE_BUILD_VERSION}.tar.gz"
123123
)
124124
endif()
125125
endif()
@@ -131,7 +131,7 @@ else()
131131
set_urls(LIMONP_SOURCE_URL "${THIRDPARTY_DIR}/${PAIMON_LIMONP_PKG_NAME}")
132132
else()
133133
set_urls(LIMONP_SOURCE_URL
134-
"${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/limonp/archive/refs/tags/${PAIMON_LIMONP_PKG_NAME}"
134+
"${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/limonp/archive/refs/tags/v${PAIMON_LIMONP_BUILD_VERSION}.tar.gz"
135135
)
136136
endif()
137137
endif()
@@ -143,7 +143,7 @@ else()
143143
set_urls(JIEBA_SOURCE_URL "${THIRDPARTY_DIR}/${PAIMON_JIEBA_PKG_NAME}")
144144
else()
145145
set_urls(JIEBA_SOURCE_URL
146-
"${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/cppjieba/archive/refs/tags/${PAIMON_JIEBA_PKG_NAME}"
146+
"${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/cppjieba/archive/refs/tags/${PAIMON_JIEBA_BUILD_VERSION}.tar.gz"
147147
)
148148
endif()
149149
endif()
@@ -318,13 +318,24 @@ macro(build_lucene)
318318
get_filename_component(LUCENE_ZLIB_ROOT "${LUCENE_ZLIB_INCLUDE_DIR}" DIRECTORY)
319319

320320
set(LUCENE_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/lucene_ep-install")
321+
322+
set(LUCENE_CMAKE_CXX_FLAGS "-pthread")
323+
if(PAIMON_USE_CXX11_ABI)
324+
string(APPEND LUCENE_CMAKE_CXX_FLAGS " -D_GLIBCXX_USE_CXX11_ABI=1")
325+
else()
326+
string(APPEND LUCENE_CMAKE_CXX_FLAGS " -D_GLIBCXX_USE_CXX11_ABI=0")
327+
endif()
328+
321329
set(LUCENE_CMAKE_ARGS
322330
${EP_COMMON_CMAKE_ARGS}
323331
"-DLUCENE_BUILD_SHARED=OFF"
324332
"-DENABLE_TEST=OFF"
325333
"-DCMAKE_C_FLAGS=-pthread"
326-
"-DCMAKE_CXX_FLAGS=-pthread"
334+
"-DCMAKE_CXX_FLAGS=${LUCENE_CMAKE_CXX_FLAGS}"
327335
"-DCMAKE_EXE_LINKER_FLAGS=-pthread"
336+
"-DBoost_NO_BOOST_CMAKE=ON"
337+
"-DBoost_NO_SYSTEM_PATHS=ON"
338+
"-DBoost_USE_STATIC_LIBS=ON"
328339
"-DBoost_INCLUDE_DIR=${BOOST_INCLUDE_DIR}"
329340
"-DBoost_LIBRARY_DIR=${BOOST_LIBRARY_DIR}"
330341
"-DBOOST_ROOT=${BOOST_INSTALL}"
@@ -505,6 +516,13 @@ macro(build_boost)
505516
${BOOST_LIBRARY_DIR}/libboost_chrono.a
506517
${BOOST_LIBRARY_DIR}/libboost_iostreams.a)
507518

519+
set(BOOST_CXX_FLAGS "-fPIC")
520+
if(PAIMON_USE_CXX11_ABI)
521+
string(APPEND BOOST_CXX_FLAGS " -D_GLIBCXX_USE_CXX11_ABI=1")
522+
else()
523+
string(APPEND BOOST_CXX_FLAGS " -D_GLIBCXX_USE_CXX11_ABI=0")
524+
endif()
525+
508526
externalproject_add(boost_ep
509527
URL "${THIRDPARTY_DIR}/boost/${PAIMON_BOOST_PKG_NAME}"
510528
URL_HASH "SHA256=${PAIMON_BOOST_BUILD_SHA256_CHECKSUM}"
@@ -515,7 +533,7 @@ macro(build_boost)
515533
--prefix=${BOOST_INSTALL}
516534
--libdir=${BOOST_LIBRARY_DIR} link=static
517535
runtime-link=shared threading=multi variant=release
518-
cxxflags=-fPIC install
536+
cxxflags=${BOOST_CXX_FLAGS} install
519537
INSTALL_COMMAND bash -c
520538
"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"
521539
BUILD_BYPRODUCTS ${BOOST_BYPRODUCTS}

third_party/versions.txt

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,58 +31,72 @@ THIRDPARTY_MIRROR_URL=
3131
PAIMON_ZLIB_BUILD_VERSION=1.3.1
3232
PAIMON_ZLIB_BUILD_SHA256_CHECKSUM=9a93b2b7dfdac77ceba5a558a580e74667dd6fede4585b91eefb60f03b72df23
3333
PAIMON_ZLIB_PKG_NAME=zlib-${PAIMON_ZLIB_BUILD_VERSION}.tar.gz
34+
3435
PAIMON_ZSTD_BUILD_VERSION=1.5.7
3536
PAIMON_ZSTD_BUILD_SHA256_CHECKSUM=eb33e51f49a15e023950cd7825ca74a4a2b43db8354825ac24fc1b7ee09e6fa3
3637
PAIMON_ZSTD_PKG_NAME=zstd-${PAIMON_ZSTD_BUILD_VERSION}.tar.gz
38+
3739
PAIMON_SNAPPY_BUILD_VERSION=1.1.10
3840
PAIMON_SNAPPY_BUILD_SHA256_CHECKSUM=49d831bffcc5f3d01482340fe5af59852ca2fe76c3e05df0e67203ebbe0f1d90
3941
PAIMON_SNAPPY_PKG_NAME=snappy-${PAIMON_SNAPPY_BUILD_VERSION}.tar.gz
42+
4043
PAIMON_LZ4_BUILD_VERSION=v1.9.4
4144
PAIMON_LZ4_BUILD_SHA256_CHECKSUM=0b0e3aa07c8c063ddf40b082bdf7e37a1562bda40a0ff5272957f3e987e0e54b
4245
PAIMON_LZ4_PKG_NAME=lz4-${PAIMON_LZ4_BUILD_VERSION}.tar.gz
46+
4347
PAIMON_PROTOBUF_BUILD_VERSION=3.8.0
4448
PAIMON_PROTOBUF_BUILD_SHA256_CHECKSUM=b7220b41481011305bf9100847cf294393973e869973a9661046601959b2960b
4549
PAIMON_PROTOBUF_PKG_NAME=protobuf-${PAIMON_PROTOBUF_BUILD_VERSION}.tar.gz
50+
4651
PAIMON_TBB_BUILD_VERSION=v2021.13.0
4752
PAIMON_TBB_BUILD_SHA256_CHECKSUM=3ad5dd08954b39d113dc5b3f8a8dc6dc1fd5250032b7c491eb07aed5c94133e1
4853
PAIMON_TBB_PKG_NAME=tbb-${PAIMON_TBB_BUILD_VERSION}.tar.gz
54+
4955
PAIMON_ORC_BUILD_VERSION=v2.1.1
5056
PAIMON_ORC_BUILD_SHA256_CHECKSUM=1f8eef537814fdcd003de13e49c6edb35427b45eb40bafd3355f775d99a0ff99
5157
PAIMON_ORC_PKG_NAME=orc-${PAIMON_ORC_BUILD_VERSION}.tar.gz
58+
5259
PAIMON_GTEST_BUILD_VERSION=1.11.0
5360
PAIMON_GTEST_BUILD_SHA256_CHECKSUM=b4870bf121ff7795ba20d20bcdd8627b8e088f2d1dab299a031c1034eddc93d5
5461
PAIMON_GTEST_PKG_NAME=gtest-${PAIMON_GTEST_BUILD_VERSION}.tar.gz
62+
5563
PAIMON_ARROW_BUILD_VERSION=17.0.0
5664
PAIMON_ARROW_BUILD_SHA256_CHECKSUM=9d280d8042e7cf526f8c28d170d93bfab65e50f94569f6a790982a878d8d898d
5765
PAIMON_ARROW_PKG_NAME=apache-arrow-${PAIMON_ARROW_BUILD_VERSION}.tar.gz
66+
5867
PAIMON_AVRO_BUILD_VERSION=c499eefb48aa2db906c7bca14a047223806f36db
5968
PAIMON_AVRO_BUILD_SHA256_CHECKSUM=9771f1dcfe3c01aff7ff670e873e66d3406362f71941821d482de65f3d32d780
6069
PAIMON_AVRO_PKG_NAME=avro-${PAIMON_AVRO_BUILD_VERSION}.tar.gz
70+
6171
PAIMON_FMT_BUILD_VERSION=11.2.0
6272
PAIMON_FMT_BUILD_SHA256_CHECKSUM=bc23066d87ab3168f27cef3e97d545fa63314f5c79df5ea444d41d56f962c6af
6373
PAIMON_FMT_PKG_NAME=fmt-${PAIMON_FMT_BUILD_VERSION}.tar.gz
74+
6475
PAIMON_GLOG_BUILD_VERSION=v0.7.1
6576
PAIMON_GLOG_BUILD_SHA256_CHECKSUM=00e4a87e87b7e7612f519a41e491f16623b12423620006f59f5688bfd8d13b08
6677
PAIMON_GLOG_PKG_NAME=glog-${PAIMON_GLOG_BUILD_VERSION}.tar.gz
78+
6779
PAIMON_RAPIDJSON_BUILD_VERSION=232389d4f1012dddec4ef84861face2d2ba85709
6880
PAIMON_RAPIDJSON_BUILD_SHA256_CHECKSUM=b9290a9a6d444c8e049bd589ab804e0ccf2b05dc5984a19ed5ae75d090064806
6981
PAIMON_RAPIDJSON_PKG_NAME=rapidjson-${PAIMON_RAPIDJSON_BUILD_VERSION}.tar.gz
82+
7083
PAIMON_JINDOSDK_C_BUILD_VERSION=6.10.2
7184
PAIMON_JINDOSDK_C_BUILD_SHA256_CHECKSUM=23e61c9815fab1cd88c369445bdbe1eab02cc09bafed3bb5118ecaf5b2fbc518
7285
PAIMON_JINDOSDK_C_PKG_NAME=jindosdk-${PAIMON_JINDOSDK_C_BUILD_VERSION}.tar.gz
7386

7487
PAIMON_LUCENE_BUILD_VERSION=3.0.9
7588
PAIMON_LUCENE_BUILD_SHA256_CHECKSUM=4e69e29d5d79a976498ef71eab70c9c88c7014708be4450a9fda7780fe93584e
76-
PAIMON_LUCENE_PKG_NAME=rel_${PAIMON_LUCENE_BUILD_VERSION}.tar.gz
89+
PAIMON_LUCENE_PKG_NAME=lucene-${PAIMON_LUCENE_BUILD_VERSION}.tar.gz
7790

7891
PAIMON_LIMONP_BUILD_VERSION=1.0.1
7992
PAIMON_LIMONP_BUILD_SHA256_CHECKSUM=c7b18794f020dbaa1006229b49a39217a463da0cb3586aee83eb7471f4ae71df
80-
PAIMON_LIMONP_PKG_NAME=v${PAIMON_LIMONP_BUILD_VERSION}.tar.gz
93+
PAIMON_LIMONP_PKG_NAME=limonp-${PAIMON_LIMONP_BUILD_VERSION}.tar.gz
8194

8295
PAIMON_JIEBA_BUILD_VERSION=v5.6.0
8396
PAIMON_JIEBA_BUILD_SHA256_CHECKSUM=e6e517b778e0f4a99cbed1ee3eaa041616b74bc685e03a6ca08887ad9cedfe49
84-
PAIMON_JIEBA_PKG_NAME=${PAIMON_JIEBA_BUILD_VERSION}.tar.gz
97+
PAIMON_JIEBA_PKG_NAME=jieba-${PAIMON_JIEBA_BUILD_VERSION}.tar.gz
8598

99+
# Boost source package is bundled at third_party/boost/
86100
PAIMON_BOOST_BUILD_VERSION=1_66_0
87101
PAIMON_BOOST_BUILD_SHA256_CHECKSUM=28e9200637800fbfd1292b2c6876189dba7e8e1c5282c71fac6515e96f7af2b0
88102
PAIMON_BOOST_PKG_NAME=boost_${PAIMON_BOOST_BUILD_VERSION}.tar.gz
@@ -106,8 +120,7 @@ DEPENDENCIES=(
106120
"PAIMON_GLOG_URL ${PAIMON_GLOG_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/google/glog/archive/${PAIMON_GLOG_BUILD_VERSION}.tar.gz"
107121
"PAIMON_RAPIDJSON_URL ${PAIMON_RAPIDJSON_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/miloyip/rapidjson/archive/${PAIMON_RAPIDJSON_BUILD_VERSION}.tar.gz"
108122
"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"
109-
"PAIMON_LUCENE_URL ${PAIMON_LUCENE_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/luceneplusplus/LucenePlusPlus/archive/refs/tags/${PAIMON_LUCENE_PKG_NAME}"
110-
"PAIMON_LIMONP_URL ${PAIMON_LIMONP_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/limonp/archive/refs/tags/${PAIMON_LIMONP_PKG_NAME}"
111-
"PAIMON_JIEBA_URL ${PAIMON_JIEBA_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/cppjieba/archive/refs/tags/${PAIMON_JIEBA_PKG_NAME}"
112-
"PAIMON_BOOST_URL ${PAIMON_BOOST_PKG_NAME} ${THIRDPARTY_DIR}/boost/${PAIMON_BOOST_PKG_NAME}"
123+
"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"
124+
"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"
125+
"PAIMON_JIEBA_URL ${PAIMON_JIEBA_PKG_NAME} ${THIRDPARTY_MIRROR_URL}https://github.com/yanyiwu/cppjieba/archive/refs/tags/${PAIMON_JIEBA_BUILD_VERSION}.tar.gz"
113126
)

0 commit comments

Comments
 (0)