From 66da9e6e796edf3b3c9734aa5c7e4737476889ea Mon Sep 17 00:00:00 2001 From: Linhe Huo Date: Thu, 20 Mar 2025 22:58:29 +0800 Subject: [PATCH 1/9] chore: use taosadapter libtaosnative fix --- cmake/taosadapter_CMakeLists.txt.in | 2 +- tools/CMakeLists.txt | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/cmake/taosadapter_CMakeLists.txt.in b/cmake/taosadapter_CMakeLists.txt.in index ef6ed4af1d..dcd47070b7 100644 --- a/cmake/taosadapter_CMakeLists.txt.in +++ b/cmake/taosadapter_CMakeLists.txt.in @@ -2,7 +2,7 @@ # taosadapter ExternalProject_Add(taosadapter GIT_REPOSITORY https://github.com/taosdata/taosadapter.git - GIT_TAG 3.0 + GIT_TAG feat/new-libtaos-with-ws SOURCE_DIR "${TD_SOURCE_DIR}/tools/taosadapter" BINARY_DIR "" #BUILD_IN_SOURCE TRUE diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt index 110a644e90..d0f676d129 100644 --- a/tools/CMakeLists.txt +++ b/tools/CMakeLists.txt @@ -13,7 +13,7 @@ IF(TD_WEBSOCKET) PREFIX "taosws-rs" SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/taosws-rs BUILD_ALWAYS off - DEPENDS ${TAOS_LIB} + DEPENDS ${TAOS_NATIVE_LIB} BUILD_IN_SOURCE 1 CONFIGURE_COMMAND cmake -E echo "taosws-rs no need cmake to config" PATCH_COMMAND @@ -31,7 +31,7 @@ IF(TD_WEBSOCKET) PREFIX "taosws-rs" SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/taosws-rs BUILD_ALWAYS off - DEPENDS ${TAOS_LIB} + DEPENDS ${TAOS_NATIVE_LIB} BUILD_IN_SOURCE 1 CONFIGURE_COMMAND cmake -E echo "taosws-rs no need cmake to config" PATCH_COMMAND @@ -50,7 +50,7 @@ IF(TD_WEBSOCKET) PREFIX "taosws-rs" SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/taosws-rs BUILD_ALWAYS off - DEPENDS ${TAOS_LIB} + DEPENDS ${TAOS_NATIVE_LIB} BUILD_IN_SOURCE 1 CONFIGURE_COMMAND cmake -E echo "taosws-rs no need cmake to config" PATCH_COMMAND @@ -190,12 +190,13 @@ ELSE() PREFIX "taosadapter" SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/taosadapter BUILD_ALWAYS off - DEPENDS ${TAOS_LIB} + DEPENDS ${TAOS_NATIVE_LIB} BUILD_IN_SOURCE 1 CONFIGURE_COMMAND cmake -E echo "taosadapter no need cmake to config" PATCH_COMMAND COMMAND git clean -f -d BUILD_COMMAND + COMMAND tree ${CMAKE_BINARY_DIR}/build/lib COMMAND CGO_CFLAGS=-I${CMAKE_CURRENT_SOURCE_DIR}/../include/client CGO_LDFLAGS=-L${CMAKE_BINARY_DIR}/build/lib go build -a -ldflags "-X 'github.com/taosdata/taosadapter/v3/version.Version=${taos_version}' -X 'github.com/taosdata/taosadapter/v3/version.CommitID=${taosadapter_commit_sha1}' -X 'github.com/taosdata/taosadapter/v3/version.BuildInfo=${TD_VER_OSTYPE}-${TD_VER_CPUTYPE} ${TD_VER_DATE}'" # COMMAND CGO_CFLAGS=-I${CMAKE_CURRENT_SOURCE_DIR}/../include/client CGO_LDFLAGS=-L${CMAKE_BINARY_DIR}/build/lib go build -a -o taosadapter-debug -ldflags "-X 'github.com/taosdata/taosadapter/v3/version.Version=${taos_version}' -X 'github.com/taosdata/taosadapter/v3/version.CommitID=${taosadapter_commit_sha1}' -X 'github.com/taosdata/taosadapter/v3/version.BuildInfo=${TD_VER_OSTYPE}-${TD_VER_CPUTYPE} ${TD_VER_DATE}'" From 1a41b0a03143df78a25db7826e374f8601fac918 Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Fri, 21 Mar 2025 10:50:20 +0800 Subject: [PATCH 2/9] feat: switch connMode to Native --- tools/inc/pub.h | 1 + tools/shell/src/shellMain.c | 5 +++++ tools/taos-tools/src/benchMain.c | 9 +++++++-- tools/taos-tools/src/taosdump.c | 5 +++++ 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/tools/inc/pub.h b/tools/inc/pub.h index 7e96c7a324..9fa8d0a142 100644 --- a/tools/inc/pub.h +++ b/tools/inc/pub.h @@ -50,6 +50,7 @@ #define CONN_MODE_INVALID -1 #define CONN_MODE_NATIVE 0 #define CONN_MODE_WEBSOCKET 1 +#define CONN_MODE_DEFAULT CONN_MODE_NATIVE // set default mode // define error show module #define INIT_PHASE "init" diff --git a/tools/shell/src/shellMain.c b/tools/shell/src/shellMain.c index 677d2808b2..8f4b2c4448 100644 --- a/tools/shell/src/shellMain.c +++ b/tools/shell/src/shellMain.c @@ -56,6 +56,11 @@ void initArgument(SShellArgs *pArgs) { // set conn mode int32_t setConnMode(int8_t connMode) { + // default + if (connMode == CONN_MODE_INVALID) { + connMode = CONN_MODE_DEFAULT; + } + // set conn mode char * strMode = connMode == CONN_MODE_NATIVE ? STR_NATIVE : STR_WEBSOCKET; int32_t code = taos_options(TSDB_OPTION_DRIVER, strMode); diff --git a/tools/taos-tools/src/benchMain.c b/tools/taos-tools/src/benchMain.c index 564bc80bc6..c2df571a22 100644 --- a/tools/taos-tools/src/benchMain.c +++ b/tools/taos-tools/src/benchMain.c @@ -98,7 +98,12 @@ int32_t applyConfigDir(char * cfgDir){ return code; } -int32_t setConnMode(int8_t connMode, char *dsn) { +int32_t setConnMode(int8_t connMode) { + // default + if (connMode == CONN_MODE_INVALID) { + connMode = CONN_MODE_DEFAULT; + } + // set conn mode char * strMode = connMode == CONN_MODE_NATIVE ? STR_NATIVE : STR_WEBSOCKET; int32_t code = taos_options(TSDB_OPTION_DRIVER, strMode); @@ -181,7 +186,7 @@ int main(int argc, char* argv[]) { } // conn mode - if (setConnMode(g_arguments->connMode, g_arguments->dsn) != 0) { + if (setConnMode(g_arguments->connMode) != 0) { exitLog(); return -1; } diff --git a/tools/taos-tools/src/taosdump.c b/tools/taos-tools/src/taosdump.c index 6c14ca080a..ec2917940b 100644 --- a/tools/taos-tools/src/taosdump.c +++ b/tools/taos-tools/src/taosdump.c @@ -10857,6 +10857,11 @@ static int inspectAvroFiles(int argc, char *argv[]) { } int32_t setConnMode(int8_t connMode) { + // default + if (connMode == CONN_MODE_INVALID) { + connMode = CONN_MODE_DEFAULT; + } + // set conn mode char * strMode = connMode == CONN_MODE_NATIVE ? STR_NATIVE : STR_WEBSOCKET; int32_t code = taos_options(TSDB_OPTION_DRIVER, strMode); From 18f9a95f82088e1aa0dc7b2d44293306c5b79a3c Mon Sep 17 00:00:00 2001 From: tjuzyp Date: Fri, 21 Mar 2025 12:13:05 +0800 Subject: [PATCH 3/9] ci: fix pthread_tryjoin_np compile error --- tools/taos-tools/inc/bench.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/taos-tools/inc/bench.h b/tools/taos-tools/inc/bench.h index a965984e33..0957bafded 100644 --- a/tools/taos-tools/inc/bench.h +++ b/tools/taos-tools/inc/bench.h @@ -16,8 +16,6 @@ #ifndef INC_BENCH_H_ #define INC_BENCH_H_ -#include "pub.h" - #define _GNU_SOURCE #define CURL_STATICLIB #define ALLOW_FORBID_FUNC @@ -25,6 +23,8 @@ #define MAX(a, b) ((a) > (b) ? (a) : (b)) #define MIN(a, b) ((a) < (b) ? (a) : (b)) +#include "pub.h" + #ifdef LINUX #ifndef _ALPINE From 28ff3f75adaf7534628c1c2efba29871f71159da Mon Sep 17 00:00:00 2001 From: tjuzyp Date: Fri, 21 Mar 2025 12:15:06 +0800 Subject: [PATCH 4/9] chore: use taosadapter 3.0 branch in 3.0 --- cmake/taosadapter_CMakeLists.txt.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/taosadapter_CMakeLists.txt.in b/cmake/taosadapter_CMakeLists.txt.in index dcd47070b7..ef6ed4af1d 100644 --- a/cmake/taosadapter_CMakeLists.txt.in +++ b/cmake/taosadapter_CMakeLists.txt.in @@ -2,7 +2,7 @@ # taosadapter ExternalProject_Add(taosadapter GIT_REPOSITORY https://github.com/taosdata/taosadapter.git - GIT_TAG feat/new-libtaos-with-ws + GIT_TAG 3.0 SOURCE_DIR "${TD_SOURCE_DIR}/tools/taosadapter" BINARY_DIR "" #BUILD_IN_SOURCE TRUE From 309cd47aa3393c066e482409d46df85644887eca Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Fri, 21 Mar 2025 13:11:46 +0800 Subject: [PATCH 5/9] fix: get default port rule --- tools/inc/pub.h | 6 ++++ tools/shell/src/shellEngine.c | 5 ++-- tools/shell/src/shellMain.c | 19 +------------ tools/src/pub.c | 47 ++++++++++++++++++++++++++++++++ tools/taos-tools/src/benchMain.c | 4 +-- tools/taos-tools/src/benchUtil.c | 3 +- tools/taos-tools/src/dumpUtil.c | 2 +- tools/taos-tools/src/taosdump.c | 20 +------------- 8 files changed, 63 insertions(+), 43 deletions(-) diff --git a/tools/inc/pub.h b/tools/inc/pub.h index 9fa8d0a142..fd9fa9558f 100644 --- a/tools/inc/pub.h +++ b/tools/inc/pub.h @@ -72,4 +72,10 @@ int8_t getConnMode(char *arg); char* strToLowerCopy(const char *str); int32_t parseDsn(char* dsn, char **host, char **port, char **user, char **pwd, char* error); +int32_t setConnMode(int8_t connMode, char *dsn); + +uint16_t defaultPort(int8_t connMode, char *dsn); + +int8_t defaultMode(int8_t connMode, char *dsn); + #endif // PUB_H_ \ No newline at end of file diff --git a/tools/shell/src/shellEngine.c b/tools/shell/src/shellEngine.c index 89d599997d..a0ec43a14c 100644 --- a/tools/shell/src/shellEngine.c +++ b/tools/shell/src/shellEngine.c @@ -21,6 +21,7 @@ #include "geosWrapper.h" #include "shellAuto.h" #include "shellInt.h" +#include "../../inc/pub.h" SShellObj shell = {0}; @@ -1347,7 +1348,7 @@ TAOS* createConnect(SShellArgs *pArgs) { if (pArgs->port_inputted) { port = pArgs->port; } else { - port = pArgs->connMode == CONN_MODE_NATIVE ? DEFAULT_PORT_NATIVE : DEFAULT_PORT_WS_LOCAL; + port = defaultPort(pArgs->connMode, pArgs->dsn); } sprintf(show, "host:%s port:%d ", host, port); @@ -1364,7 +1365,7 @@ TAOS* createConnect(SShellArgs *pArgs) { int32_t shellExecute(int argc, char *argv[]) { int32_t code = 0; printf(shell.info.clientVersion, shell.info.cusName, - shell.args.connMode == CONN_MODE_NATIVE ? STR_NATIVE : STR_WEBSOCKET, + defaultMode(shell.args.connMode, shell.args.dsn), taos_get_client_info(), shell.info.cusName); fflush(stdout); diff --git a/tools/shell/src/shellMain.c b/tools/shell/src/shellMain.c index 8f4b2c4448..fa03677824 100644 --- a/tools/shell/src/shellMain.c +++ b/tools/shell/src/shellMain.c @@ -54,23 +54,6 @@ void initArgument(SShellArgs *pArgs) { pArgs->port_inputted = false; } -// set conn mode -int32_t setConnMode(int8_t connMode) { - // default - if (connMode == CONN_MODE_INVALID) { - connMode = CONN_MODE_DEFAULT; - } - - // set conn mode - char * strMode = connMode == CONN_MODE_NATIVE ? STR_NATIVE : STR_WEBSOCKET; - int32_t code = taos_options(TSDB_OPTION_DRIVER, strMode); - if (code != TSDB_CODE_SUCCESS) { - fprintf(stderr, "failed to load driver since %s [0x%08X]\r\n", taos_errstr(NULL), taos_errno(NULL)); - return -1; - } - return 0; -} - int main(int argc, char *argv[]) { #if !defined(WINDOWS) taosSetSignal(SIGBUS, shellCrashHandler); @@ -118,7 +101,7 @@ int main(int argc, char *argv[]) { return -1; } - if (setConnMode(shell.args.connMode)) { + if (setConnMode(&shell.args.connMode, shell.args.dsn)) { return -1; } diff --git a/tools/src/pub.c b/tools/src/pub.c index 0e1cbdd654..0eddbfbe04 100644 --- a/tools/src/pub.c +++ b/tools/src/pub.c @@ -11,6 +11,7 @@ */ #include + #include #include "../inc/pub.h" @@ -88,4 +89,50 @@ exit(-1); } } + + // set conn mode +int32_t setConnMode(int8_t connMode, char *dsn) { + // check default + if (connMode == CONN_MODE_INVALID) { + if (dsn && dsn[0] != 0) { + connMode = CONN_MODE_WEBSOCKET; + } else { + // default + connMode = CONN_MODE_DEFAULT; + } + } + + // set conn mode + char * strMode = connMode == CONN_MODE_NATIVE ? STR_NATIVE : STR_WEBSOCKET; + int32_t code = taos_options(TSDB_OPTION_DRIVER, strMode); + if (code != TSDB_CODE_SUCCESS) { + fprintf(stderr, "failed to load driver. since %s [0x%08X]\r\n", taos_errstr(NULL), taos_errno(NULL)); + return code; + } + return 0; +} + +// default mode +int8_t defaultMode(int8_t connMode, char *dsn) { + int8_t mode = connMode; + if (connMode == CONN_MODE_INVALID) { + // no input from command line or config + if (dsn && dsn[0] != 0) { + mode = CONN_MODE_WEBSOCKET; + } else { + // default + mode = CONN_MODE_DEFAULT; + } + } + return mode; +} + +// get default port +uint16_t defaultPort(int8_t connMode, char *dsn) { + // consistent with setConnMode + int8_t mode = defaultMode(connMode, dsn); + + // default port + return mode == CONN_MODE_NATIVE ? DEFAULT_PORT_NATIVE : DEFAULT_PORT_WS_LOCAL; +} \ No newline at end of file diff --git a/tools/taos-tools/src/benchMain.c b/tools/taos-tools/src/benchMain.c index c2df571a22..9d3583c7a8 100644 --- a/tools/taos-tools/src/benchMain.c +++ b/tools/taos-tools/src/benchMain.c @@ -109,7 +109,7 @@ int32_t setConnMode(int8_t connMode) { int32_t code = taos_options(TSDB_OPTION_DRIVER, strMode); if (code != TSDB_CODE_SUCCESS) { engineError(INIT_PHASE, "taos_options", code); - return -1; + return code; } infoPrint("Connect mode is : %s\n\n", strMode); @@ -186,7 +186,7 @@ int main(int argc, char* argv[]) { } // conn mode - if (setConnMode(g_arguments->connMode) != 0) { + if (setConnMode(g_arguments->connMode, g_arguments->dsn) != 0) { exitLog(); return -1; } diff --git a/tools/taos-tools/src/benchUtil.c b/tools/taos-tools/src/benchUtil.c index 32bc5b0813..fe0ab3613b 100644 --- a/tools/taos-tools/src/benchUtil.c +++ b/tools/taos-tools/src/benchUtil.c @@ -13,6 +13,7 @@ #include #include #include "benchLog.h" +#include "pub.h" char resEncodingChunk[] = "Encoding: chunked"; char succMessage[] = "succ"; @@ -304,7 +305,7 @@ SBenchConn* initBenchConnImpl() { if (g_arguments->port_inputted) { port = g_arguments->port; } else { - port = g_arguments->connMode == CONN_MODE_NATIVE ? DEFAULT_PORT_NATIVE : DEFAULT_PORT_WS_LOCAL; + port = defaultPort(g_arguments->connMode, g_arguments->dsn); } sprintf(show, "host:%s port:%d ", host, port); diff --git a/tools/taos-tools/src/dumpUtil.c b/tools/taos-tools/src/dumpUtil.c index 8535a2f0a7..d2403ec4c0 100644 --- a/tools/taos-tools/src/dumpUtil.c +++ b/tools/taos-tools/src/dumpUtil.c @@ -136,7 +136,7 @@ TAOS *taosConnect(const char *dbName) { if (g_args.port_inputted) { port = g_args.port; } else { - port = g_args.connMode == CONN_MODE_NATIVE ? DEFAULT_PORT_NATIVE : DEFAULT_PORT_WS_LOCAL; + port = defaultPort(g_args.connMode, g_args.dsn); } sprintf(show, "host:%s port:%d ", host, port); diff --git a/tools/taos-tools/src/taosdump.c b/tools/taos-tools/src/taosdump.c index ec2917940b..6ef633fb9b 100644 --- a/tools/taos-tools/src/taosdump.c +++ b/tools/taos-tools/src/taosdump.c @@ -10856,24 +10856,6 @@ static int inspectAvroFiles(int argc, char *argv[]) { return ret; } -int32_t setConnMode(int8_t connMode) { - // default - if (connMode == CONN_MODE_INVALID) { - connMode = CONN_MODE_DEFAULT; - } - - // set conn mode - char * strMode = connMode == CONN_MODE_NATIVE ? STR_NATIVE : STR_WEBSOCKET; - int32_t code = taos_options(TSDB_OPTION_DRIVER, strMode); - if (code != TSDB_CODE_SUCCESS) { - engineError(INIT_PHASE, "taos_options", code); - return -1; - } - - infoPrint("\nConnect mode is : %s\n\n", strMode); - return 0; -} - int main(int argc, char *argv[]) { g_uniqueID = getUniqueIDFromEpoch(); @@ -10928,7 +10910,7 @@ int main(int argc, char *argv[]) { } // conn mode - if (setConnMode(g_args.connMode) != 0) { + if (setConnMode(g_args.connMode, g_args.dsn) != 0) { return -1; } From 5db660a58c07be223f3b998a55677c96d402ca09 Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Fri, 21 Mar 2025 13:15:24 +0800 Subject: [PATCH 6/9] fix: build error --- tools/shell/src/shellMain.c | 2 +- tools/src/pub.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/tools/shell/src/shellMain.c b/tools/shell/src/shellMain.c index fa03677824..31fad97bd4 100644 --- a/tools/shell/src/shellMain.c +++ b/tools/shell/src/shellMain.c @@ -101,7 +101,7 @@ int main(int argc, char *argv[]) { return -1; } - if (setConnMode(&shell.args.connMode, shell.args.dsn)) { + if (setConnMode(shell.args.connMode, shell.args.dsn)) { return -1; } diff --git a/tools/src/pub.c b/tools/src/pub.c index 0eddbfbe04..7e561b57d9 100644 --- a/tools/src/pub.c +++ b/tools/src/pub.c @@ -105,7 +105,7 @@ int32_t setConnMode(int8_t connMode, char *dsn) { // set conn mode char * strMode = connMode == CONN_MODE_NATIVE ? STR_NATIVE : STR_WEBSOCKET; int32_t code = taos_options(TSDB_OPTION_DRIVER, strMode); - if (code != TSDB_CODE_SUCCESS) { + if (code != 0) { fprintf(stderr, "failed to load driver. since %s [0x%08X]\r\n", taos_errstr(NULL), taos_errno(NULL)); return code; } From f5a0d8d6f40be0a30faee97bdbe75dc483a295a1 Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Fri, 21 Mar 2025 13:17:08 +0800 Subject: [PATCH 7/9] fix: remove old setConnMode --- tools/taos-tools/src/benchMain.c | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/tools/taos-tools/src/benchMain.c b/tools/taos-tools/src/benchMain.c index 9d3583c7a8..fa47329b37 100644 --- a/tools/taos-tools/src/benchMain.c +++ b/tools/taos-tools/src/benchMain.c @@ -98,24 +98,6 @@ int32_t applyConfigDir(char * cfgDir){ return code; } -int32_t setConnMode(int8_t connMode) { - // default - if (connMode == CONN_MODE_INVALID) { - connMode = CONN_MODE_DEFAULT; - } - - // set conn mode - char * strMode = connMode == CONN_MODE_NATIVE ? STR_NATIVE : STR_WEBSOCKET; - int32_t code = taos_options(TSDB_OPTION_DRIVER, strMode); - if (code != TSDB_CODE_SUCCESS) { - engineError(INIT_PHASE, "taos_options", code); - return code; - } - - infoPrint("Connect mode is : %s\n\n", strMode); - return 0; -} - int main(int argc, char* argv[]) { int ret = 0; From def4f61f170c26a33b811b39cd4e63196b40036c Mon Sep 17 00:00:00 2001 From: Alex Duan <417921451@qq.com> Date: Fri, 21 Mar 2025 13:27:45 +0800 Subject: [PATCH 8/9] fix: show connMode is ok for taos --- tools/shell/src/shellEngine.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/shell/src/shellEngine.c b/tools/shell/src/shellEngine.c index a0ec43a14c..46d0c88b02 100644 --- a/tools/shell/src/shellEngine.c +++ b/tools/shell/src/shellEngine.c @@ -1365,7 +1365,7 @@ TAOS* createConnect(SShellArgs *pArgs) { int32_t shellExecute(int argc, char *argv[]) { int32_t code = 0; printf(shell.info.clientVersion, shell.info.cusName, - defaultMode(shell.args.connMode, shell.args.dsn), + defaultMode(shell.args.connMode, shell.args.dsn) == CONN_MODE_NATIVE ? STR_NATIVE : STR_WEBSOCKET, taos_get_client_info(), shell.info.cusName); fflush(stdout); From a73f69100d898a4035292e89ce449881c18c740c Mon Sep 17 00:00:00 2001 From: tjuzyp Date: Fri, 21 Mar 2025 13:29:21 +0800 Subject: [PATCH 9/9] chore: use taosws 3.0 branch in TDengine 3.0 --- cmake/taosws_CMakeLists.txt.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/taosws_CMakeLists.txt.in b/cmake/taosws_CMakeLists.txt.in index b23c92cef9..820418a452 100644 --- a/cmake/taosws_CMakeLists.txt.in +++ b/cmake/taosws_CMakeLists.txt.in @@ -2,7 +2,7 @@ # taosws-rs ExternalProject_Add(taosws-rs GIT_REPOSITORY https://github.com/taosdata/taos-connector-rust.git - GIT_TAG feat/new-libtaos-with-ws + GIT_TAG 3.0 SOURCE_DIR "${TD_SOURCE_DIR}/tools/taosws-rs" BINARY_DIR "" #BUILD_IN_SOURCE TRUE