@@ -27,43 +27,55 @@ set(COMMON_THIRDPARTY)
2727# if arg exist wholelibpath, use wholelibpath to find library
2828function (add_thirdparty)
2929 cmake_parse_arguments (DORIS_THIRDPARTY
30- "NOTADD;LIB64"
30+ "NOTADD;LIB64;SHARED "
3131 "LIBNAME;WHOLELIBPATH"
3232 ""
3333 ${ARGN} )
3434
3535 set (DORIS_THIRDPARTY_NAME ${DORIS_THIRDPARTY_UNPARSED_ARGUMENTS} )
36- add_library (${DORIS_THIRDPARTY_NAME} STATIC IMPORTED )
36+ if (DORIS_THIRDPARTY_SHARED)
37+ add_library (${DORIS_THIRDPARTY_NAME} SHARED IMPORTED )
38+ else ()
39+ add_library (${DORIS_THIRDPARTY_NAME} STATIC IMPORTED )
40+ endif ()
3741
3842 if (NOT DORIS_THIRDPARTY_NOTADD)
3943 set (COMMON_THIRDPARTY ${COMMON_THIRDPARTY} ${DORIS_THIRDPARTY_NAME} PARENT_SCOPE)
4044 endif ()
4145
4246 if (DORIS_THIRDPARTY_LIB64)
43- set (DORIS_THIRDPARTY_LIBPATH ${THIRDPARTY_DIR} /lib64/lib${DORIS_THIRDPARTY_NAME} .a)
47+ if (DORIS_THIRDPARTY_SHARED)
48+ set (DORIS_THIRDPARTY_LIBPATH ${THIRDPARTY_DIR} /lib64/lib${DORIS_THIRDPARTY_NAME} .so)
49+ else ()
50+ set (DORIS_THIRDPARTY_LIBPATH ${THIRDPARTY_DIR} /lib64/lib${DORIS_THIRDPARTY_NAME} .a)
51+ endif ()
4452 elseif (DORIS_THIRDPARTY_LIBNAME)
4553 set (DORIS_THIRDPARTY_LIBPATH ${THIRDPARTY_DIR} /${DORIS_THIRDPARTY_LIBNAME} )
4654 elseif (DORIS_THIRDPARTY_WHOLELIBPATH)
4755 set (DORIS_THIRDPARTY_LIBPATH ${DORIS_THIRDPARTY_WHOLELIBPATH} )
4856 else ()
49- set (DORIS_THIRDPARTY_LIBPATH ${THIRDPARTY_DIR} /lib/lib${DORIS_THIRDPARTY_NAME} .a)
57+ if (DORIS_THIRDPARTY_SHARED)
58+ set (DORIS_THIRDPARTY_LIBPATH ${THIRDPARTY_DIR} /lib/lib${DORIS_THIRDPARTY_NAME} .so)
59+ else ()
60+ set (DORIS_THIRDPARTY_LIBPATH ${THIRDPARTY_DIR} /lib/lib${DORIS_THIRDPARTY_NAME} .a)
61+ endif ()
5062 endif ()
5163 set_target_properties (${DORIS_THIRDPARTY_NAME} PROPERTIES IMPORTED_LOCATION ${DORIS_THIRDPARTY_LIBPATH} )
5264endfunction ()
5365
54- add_thirdparty(gflags)
55- add_thirdparty(glog)
66+ add_thirdparty(gflags SHARED )
67+ add_thirdparty(glog SHARED )
5668add_thirdparty(backtrace)
57- add_thirdparty(re2)
69+ add_thirdparty(re2 SHARED )
5870add_thirdparty(hyperscan LIBNAME "lib64/libhs.a" )
5971add_thirdparty(odbc)
6072add_thirdparty(pprof WHOLELIBPATH ${GPERFTOOLS_HOME} /lib/libprofiler.a)
61- add_thirdparty(protobuf)
73+ add_thirdparty(protobuf SHARED )
6274add_thirdparty(gtest)
6375add_thirdparty(gtest_main)
6476add_thirdparty(benchmark)
6577add_thirdparty(gmock)
66- add_thirdparty(snappy)
78+ add_thirdparty(snappy SHARED )
6779add_thirdparty(curl)
6880add_thirdparty(lz4)
6981add_thirdparty(thrift)
@@ -90,14 +102,14 @@ if (USE_UNWIND)
90102 add_thirdparty(libunwind LIBNAME "lib64/libunwind.a" )
91103endif ()
92104
93- add_thirdparty(grpc++_reflection LIB64)
94- add_thirdparty(grpc LIB64)
95- add_thirdparty(grpc++ LIB64)
96- add_thirdparty(grpc++_unsecure LIB64)
97- add_thirdparty(gpr LIB64)
98- add_thirdparty(upb LIB64)
99- add_thirdparty(cares LIB64)
100- add_thirdparty(address_sorting LIB64)
105+ add_thirdparty(grpc++_reflection SHARED LIB64)
106+ add_thirdparty(grpc SHARED LIB64)
107+ add_thirdparty(grpc++ SHARED LIB64)
108+ add_thirdparty(grpc++_unsecure SHARED LIB64)
109+ add_thirdparty(gpr SHARED LIB64)
110+ add_thirdparty(upb SHARED LIB64)
111+ add_thirdparty(cares SHARED LIB64)
112+ add_thirdparty(address_sorting SHARED LIB64)
101113add_thirdparty(z LIB64)
102114
103115add_thirdparty(brotlicommon LIB64)
@@ -108,9 +120,9 @@ add_thirdparty(arrow LIB64)
108120add_thirdparty(arrow_flight LIB64)
109121add_thirdparty(arrow_flight_sql LIB64)
110122add_thirdparty(parquet LIB64)
111- add_thirdparty(brpc LIB64)
123+ add_thirdparty(brpc SHARED LIB64)
112124add_thirdparty(rocksdb)
113- add_thirdparty(cyrus-sasl WHOLELIBPATH "/ lib/x86_64-linux-gnu /libsasl2.so" )
125+ add_thirdparty(cyrus-sasl SHARED LIBNAME " lib/libsasl2.so" )
114126# put this after lz4 to avoid using lz4 lib in librdkafka
115127add_thirdparty(rdkafka_cpp LIBNAME "lib/librdkafka++.a" )
116128add_thirdparty(rdkafka)
@@ -121,10 +133,10 @@ add_thirdparty(fmt)
121133add_thirdparty(cctz)
122134add_thirdparty(base64)
123135
124- add_thirdparty(aws-cpp-sdk-core LIB64)
125- add_thirdparty(aws-cpp-sdk-s3 LIB64)
126- add_thirdparty(aws-cpp-sdk-transfer LIB64)
127- add_thirdparty(aws-cpp-sdk-s3-crt LIB64)
136+ add_thirdparty(aws-cpp-sdk-core SHARED LIB64)
137+ add_thirdparty(aws-cpp-sdk-s3 SHARED LIB64)
138+ add_thirdparty(aws-cpp-sdk-transfer SHARED LIB64)
139+ add_thirdparty(aws-cpp-sdk-s3-crt SHARED LIB64)
128140add_thirdparty(aws-crt-cpp LIB64)
129141add_thirdparty(aws-c-cal LIB64)
130142add_thirdparty(aws-c-auth LIB64)
@@ -137,8 +149,8 @@ add_thirdparty(aws-c-mqtt LIB64)
137149add_thirdparty(aws-checksums LIB64)
138150add_thirdparty(aws-c-s3 LIB64)
139151add_thirdparty(aws-c-sdkutils LIB64)
140- add_thirdparty(aws-cpp-sdk-identity-management LIB64)
141- add_thirdparty(aws-cpp-sdk-sts LIB64)
152+ add_thirdparty(aws-cpp-sdk-identity-management SHARED LIB64)
153+ add_thirdparty(aws-cpp-sdk-sts SHARED LIB64)
142154if (NOT OS_MACOSX)
143155 add_thirdparty(aws-s2n LIBNAME "lib/libs2n.a" )
144156endif ()
@@ -156,11 +168,11 @@ add_thirdparty(idn LIB64)
156168add_thirdparty(xml2 LIB64)
157169add_thirdparty(lzma LIB64)
158170add_thirdparty(gsasl)
159- add_thirdparty(krb5support WHOLELIBPATH "/lib/x86_64-linux-gnu/libkrb5support.so" )
160- add_thirdparty(krb5 WHOLELIBPATH "/lib/x86_64-linux-gnu/libkrb5.so" )
161- add_thirdparty(com_err WHOLELIBPATH "/lib/x86_64-linux-gnu/libcom_err.so" )
162- add_thirdparty(k5crypto WHOLELIBPATH "/lib/x86_64-linux-gnu/libk5crypto.so" )
163- add_thirdparty(gssapi_krb5 WHOLELIBPATH "/lib/x86_64-linux-gnu/libgssapi_krb5.so" )
171+ add_thirdparty(krb5support SHARED )
172+ add_thirdparty(krb5 SHARED )
173+ add_thirdparty(com_err SHARED )
174+ add_thirdparty(k5crypto SHARED )
175+ add_thirdparty(gssapi_krb5 SHARED )
164176add_thirdparty(streamvbyte LIB64)
165177
166178if (OS_MACOSX)
0 commit comments