From 4e647ab0c65453f03c97f7bdfabebb31070a59bc Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 2 Dec 2021 14:21:33 +0800 Subject: [PATCH 1/4] disable doc build --- cmake/cmake.options | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/cmake.options b/cmake/cmake.options index 4c082fe79a..105ff17c58 100644 --- a/cmake/cmake.options +++ b/cmake/cmake.options @@ -52,5 +52,5 @@ option( option( BUILD_DOCS "If use doxygen build documents" - ON + OFF ) From cb470d7afe15bca43a03448eb7c4db185c67287d Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Thu, 2 Dec 2021 18:10:06 +0800 Subject: [PATCH 2/4] [TD-11760]: use sqlite to store suid to uid list --- deps/CMakeLists.txt | 5 +- source/dnode/vnode/meta/CMakeLists.txt | 1 + source/dnode/vnode/meta/inc/metaDB.h | 3 +- source/dnode/vnode/meta/src/metaDB.c | 77 ++++++++++++++++---------- 4 files changed, 54 insertions(+), 32 deletions(-) diff --git a/deps/CMakeLists.txt b/deps/CMakeLists.txt index afd606c403..0ef8c7e3be 100644 --- a/deps/CMakeLists.txt +++ b/deps/CMakeLists.txt @@ -82,7 +82,7 @@ endif(${BUILD_WITH_NURAFT}) # BDB if(${BUILD_WITH_BDB}) - add_library(bdb STATIC IMPORTED) + add_library(bdb STATIC IMPORTED GLOBAL) set_target_properties(bdb PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/bdb/libdb.a" INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/bdb" @@ -93,8 +93,9 @@ if(${BUILD_WITH_BDB}) endif(${BUILD_WITH_BDB}) # SQLite +# see https://stackoverflow.com/questions/8774593/cmake-link-to-external-library#comment58570736_10550334 if(${BUILD_WITH_SQLITE}) - add_library(sqlite STATIC IMPORTED) + add_library(sqlite STATIC IMPORTED GLOBAL) set_target_properties(sqlite PROPERTIES IMPORTED_LOCATION "${CMAKE_CURRENT_SOURCE_DIR}/sqlite/.libs/libsqlite3.a" INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/sqlite" diff --git a/source/dnode/vnode/meta/CMakeLists.txt b/source/dnode/vnode/meta/CMakeLists.txt index 8d37f5842e..34de051441 100644 --- a/source/dnode/vnode/meta/CMakeLists.txt +++ b/source/dnode/vnode/meta/CMakeLists.txt @@ -7,6 +7,7 @@ target_include_directories( ) target_link_libraries( meta + PUBLIC sqlite PUBLIC common PUBLIC tkv ) diff --git a/source/dnode/vnode/meta/inc/metaDB.h b/source/dnode/vnode/meta/inc/metaDB.h index f758af0673..babff30e94 100644 --- a/source/dnode/vnode/meta/inc/metaDB.h +++ b/source/dnode/vnode/meta/inc/metaDB.h @@ -17,6 +17,7 @@ #define _TD_META_DB_H_ #include "rocksdb/c.h" +#include "sqlite3.h" #include "meta.h" @@ -29,7 +30,7 @@ typedef struct { rocksdb_t *nameDb; // name -> uid rocksdb_t *tagDb; // uid -> tag rocksdb_t *schemaDb; // uid+version -> schema - rocksdb_t *mapDb; // suid -> uid_list + sqlite3 * mapDb; // suid -> uid_list } meta_db_t; int metaOpenDB(SMeta *pMeta); diff --git a/source/dnode/vnode/meta/src/metaDB.c b/source/dnode/vnode/meta/src/metaDB.c index d1fb65d2ed..eec0910c07 100644 --- a/source/dnode/vnode/meta/src/metaDB.c +++ b/source/dnode/vnode/meta/src/metaDB.c @@ -17,7 +17,7 @@ static void metaSaveSchemaDB(SMeta *pMeta, tb_uid_t uid, STSchema *pSchema); static void metaGetSchemaDBKey(char key[], tb_uid_t uid, int sversion); -static int metaSaveMapDB(SMeta *pMeta, tb_uid_t suid, tb_uid_t uid); +// static int metaSaveMapDB(SMeta *pMeta, tb_uid_t suid, tb_uid_t uid); #define SCHEMA_KEY_LEN (sizeof(tb_uid_t) + sizeof(int)) @@ -65,8 +65,14 @@ int metaOpenDB(SMeta *pMeta) { META_OPEN_DB_IMPL(pMeta->pDB->schemaDb, options, dir, err); // mapDb - sprintf(dir, "%s/map_db", pMeta->path); - META_OPEN_DB_IMPL(pMeta->pDB->mapDb, options, dir, err); + sprintf(dir, "%s/meta.db", pMeta->path); + if (sqlite3_open(dir, &(pMeta->pDB->mapDb)) != SQLITE_OK) { + // TODO + } + + // // set read uncommitted + sqlite3_exec(pMeta->pDB->mapDb, "PRAGMA read_uncommitted=true;", 0, 0, 0); + sqlite3_exec(pMeta->pDB->mapDb, "BEGIN;", 0, 0, 0); rocksdb_options_destroy(options); return 0; @@ -82,7 +88,12 @@ int metaOpenDB(SMeta *pMeta) { void metaCloseDB(SMeta *pMeta) { if (pMeta->pDB) { - META_CLOSE_DB_IMPL(pMeta->pDB->mapDb); + if (pMeta->pDB->mapDb) { + sqlite3_exec(pMeta->pDB->mapDb, "COMMIT;", 0, 0, 0); + sqlite3_close(pMeta->pDB->mapDb); + pMeta->pDB->mapDb = NULL; + } + META_CLOSE_DB_IMPL(pMeta->pDB->schemaDb); META_CLOSE_DB_IMPL(pMeta->pDB->tagDb); META_CLOSE_DB_IMPL(pMeta->pDB->nameDb); @@ -97,6 +108,7 @@ int metaSaveTableToDB(SMeta *pMeta, const STbCfg *pTbOptions) { char * err = NULL; size_t size; char pBuf[1024]; // TODO + char sql[128]; rocksdb_writeoptions_t *wopt = rocksdb_writeoptions_create(); @@ -124,8 +136,12 @@ int metaSaveTableToDB(SMeta *pMeta, const STbCfg *pTbOptions) { // save schemaDB metaSaveSchemaDB(pMeta, uid, pTbOptions->stbCfg.pSchema); - // save mapDB (really need?) - rocksdb_put(pMeta->pDB->mapDb, wopt, (char *)(&uid), sizeof(uid), "", 0, &err); + // // save mapDB (really need?) + // rocksdb_put(pMeta->pDB->mapDb, wopt, (char *)(&uid), sizeof(uid), "", 0, &err); + sprintf(sql, "create table st_%" PRIu64 " (uid BIGINT);", uid); + if (sqlite3_exec(pMeta->pDB->mapDb, sql, NULL, NULL, &err) != SQLITE_OK) { + // fprintf(stderr, "Failed to create table, since %s\n", err); + } break; case META_CHILD_TABLE: // save tagDB @@ -133,7 +149,10 @@ int metaSaveTableToDB(SMeta *pMeta, const STbCfg *pTbOptions) { kvRowLen(pTbOptions->ctbCfg.pTag), &err); // save mapDB - metaSaveMapDB(pMeta, pTbOptions->ctbCfg.suid, uid); + sprintf(sql, "insert into st_%" PRIu64 " values (%" PRIu64 ");", pTbOptions->ctbCfg.suid, uid); + if (sqlite3_exec(pMeta->pDB->mapDb, sql, NULL, NULL, &err) != SQLITE_OK) { + fprintf(stderr, "failed to insert data, since %s\n", err); + } break; default: ASSERT(0); @@ -172,32 +191,32 @@ static void metaGetSchemaDBKey(char *key, tb_uid_t uid, int sversion) { *(int *)POINTER_SHIFT(key, sizeof(tb_uid_t)) = sversion; } -static int metaSaveMapDB(SMeta *pMeta, tb_uid_t suid, tb_uid_t uid) { - size_t vlen; - char * val; - char * err = NULL; +// static int metaSaveMapDB(SMeta *pMeta, tb_uid_t suid, tb_uid_t uid) { +// size_t vlen; +// char * val; +// char * err = NULL; - rocksdb_readoptions_t *ropt = rocksdb_readoptions_create(); - val = rocksdb_get(pMeta->pDB->mapDb, ropt, (char *)(&suid), sizeof(suid), &vlen, &err); - rocksdb_readoptions_destroy(ropt); +// rocksdb_readoptions_t *ropt = rocksdb_readoptions_create(); +// val = rocksdb_get(pMeta->pDB->mapDb, ropt, (char *)(&suid), sizeof(suid), &vlen, &err); +// rocksdb_readoptions_destroy(ropt); - void *nval = malloc(vlen + sizeof(uid)); - if (nval == NULL) { - return -1; - } +// void *nval = malloc(vlen + sizeof(uid)); +// if (nval == NULL) { +// return -1; +// } - if (vlen) { - memcpy(nval, val, vlen); - } - memcpy(POINTER_SHIFT(nval, vlen), (void *)(&uid), sizeof(uid)); +// if (vlen) { +// memcpy(nval, val, vlen); +// } +// memcpy(POINTER_SHIFT(nval, vlen), (void *)(&uid), sizeof(uid)); - rocksdb_writeoptions_t *wopt = rocksdb_writeoptions_create(); - rocksdb_writeoptions_disable_WAL(wopt, 1); +// rocksdb_writeoptions_t *wopt = rocksdb_writeoptions_create(); +// rocksdb_writeoptions_disable_WAL(wopt, 1); - rocksdb_put(pMeta->pDB->mapDb, wopt, (char *)(&suid), sizeof(suid), nval, vlen + sizeof(uid), &err); +// rocksdb_put(pMeta->pDB->mapDb, wopt, (char *)(&suid), sizeof(suid), nval, vlen + sizeof(uid), &err); - rocksdb_writeoptions_destroy(wopt); - free(nval); +// rocksdb_writeoptions_destroy(wopt); +// free(nval); - return 0; -} \ No newline at end of file +// return 0; +// } \ No newline at end of file From f2df8dba6586835615363e9c26bdd77d91e62044 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Fri, 3 Dec 2021 14:31:11 +0800 Subject: [PATCH 3/4] change deps to contrib --- .gitignore | 6 +- CMakeLists.txt | 66 +------------------ cmake/bdb_CMakeLists.txt.in | 4 +- cmake/cjson_CMakeLists.txt.in | 2 +- cmake/gtest_CMakeLists.txt.in | 2 +- cmake/leveldb_CMakeLists.txt.in | 2 +- cmake/lucene_CMakeLists.txt.in | 2 +- cmake/lz4_CMakeLists.txt.in | 2 +- cmake/nuraft_CMakeLists.txt.in | 4 +- cmake/rocksdb_CMakeLists.txt.in | 2 +- cmake/sqlite_CMakeLists.txt.in | 4 +- cmake/zlib_CMakeLists.txt.in | 2 +- {deps => contrib}/CMakeLists.txt | 61 +++++++++++++++++ {deps => contrib}/test/CMakeLists.txt | 0 {deps => contrib}/test/bdb/CMakeLists.txt | 0 {deps => contrib}/test/bdb/bdbTest.c | 0 {deps => contrib}/test/lucene/CMakeLists.txt | 0 {deps => contrib}/test/lucene/main.cpp | 0 {deps => contrib}/test/rocksdb/CMakeLists.txt | 0 {deps => contrib}/test/rocksdb/main.c | 0 {deps => contrib}/test/sqlite/CMakeLists.txt | 0 {deps => contrib}/test/sqlite/sqliteTest.c | 0 {deps => contrib}/test/tdev/CMakeLists.txt | 0 {deps => contrib}/test/tdev/src/main.c | 0 24 files changed, 80 insertions(+), 79 deletions(-) rename {deps => contrib}/CMakeLists.txt (67%) rename {deps => contrib}/test/CMakeLists.txt (100%) rename {deps => contrib}/test/bdb/CMakeLists.txt (100%) rename {deps => contrib}/test/bdb/bdbTest.c (100%) rename {deps => contrib}/test/lucene/CMakeLists.txt (100%) rename {deps => contrib}/test/lucene/main.cpp (100%) rename {deps => contrib}/test/rocksdb/CMakeLists.txt (100%) rename {deps => contrib}/test/rocksdb/main.c (100%) rename {deps => contrib}/test/sqlite/CMakeLists.txt (100%) rename {deps => contrib}/test/sqlite/sqliteTest.c (100%) rename {deps => contrib}/test/tdev/CMakeLists.txt (100%) rename {deps => contrib}/test/tdev/src/main.c (100%) diff --git a/.gitignore b/.gitignore index 8df75abe20..ba8543e518 100644 --- a/.gitignore +++ b/.gitignore @@ -98,6 +98,6 @@ tramp .\#* TAGS -deps/* -!deps/CMakeLists.txt -!deps/test +contrib/* +!contrib/CMakeLists.txt +!contrib/test diff --git a/CMakeLists.txt b/CMakeLists.txt index a9450220a7..056fb6b509 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,73 +10,13 @@ project( # DEPENDENCIES # ============================================================================ set(CMAKE_SUPPORT_DIR "${CMAKE_SOURCE_DIR}/cmake") +set(CMAKE_CONTRIB_DIR "${CMAKE_SOURCE_DIR}/contrib") include(${CMAKE_SUPPORT_DIR}/cmake.options) -function(cat IN_FILE OUT_FILE) - file(READ ${IN_FILE} CONTENTS) - file(APPEND ${OUT_FILE} "${CONTENTS}") -endfunction(cat IN_FILE OUT_FILE) - -set(DEPS_TMP_FILE "${CMAKE_BINARY_DIR}/deps_tmp_CMakeLists.txt.in") -configure_file("${CMAKE_SUPPORT_DIR}/deps_CMakeLists.txt.in" ${DEPS_TMP_FILE}) - -## googletest -if(${BUILD_TEST}) - cat("${CMAKE_SUPPORT_DIR}/gtest_CMakeLists.txt.in" ${DEPS_TMP_FILE}) -endif(${BUILD_TEST}) - -## lz4 -cat("${CMAKE_SUPPORT_DIR}/lz4_CMakeLists.txt.in" ${DEPS_TMP_FILE}) - -## zlib -cat("${CMAKE_SUPPORT_DIR}/zlib_CMakeLists.txt.in" ${DEPS_TMP_FILE}) - -## cJson -cat("${CMAKE_SUPPORT_DIR}/cjson_CMakeLists.txt.in" ${DEPS_TMP_FILE}) - -## leveldb -if(${BUILD_WITH_LEVELDB}) - cat("${CMAKE_SUPPORT_DIR}/leveldb_CMakeLists.txt.in" ${DEPS_TMP_FILE}) -endif(${BUILD_WITH_LEVELDB}) - -## rocksdb -if(${BUILD_WITH_ROCKSDB}) - cat("${CMAKE_SUPPORT_DIR}/rocksdb_CMakeLists.txt.in" ${DEPS_TMP_FILE}) - add_definitions(-DUSE_ROCKSDB) -endif(${BUILD_WITH_ROCKSDB}) - -## bdb -if(${BUILD_WITH_BDB}) - cat("${CMAKE_SUPPORT_DIR}/bdb_CMakeLists.txt.in" ${DEPS_TMP_FILE}) -endif(${BUILD_WITH_DBD}) - -## sqlite -if(${BUILD_WITH_SQLITE}) - cat("${CMAKE_SUPPORT_DIR}/sqlite_CMakeLists.txt.in" ${DEPS_TMP_FILE}) -endif(${BUILD_WITH_SQLITE}) - -## lucene -if(${BUILD_WITH_LUCENE}) - cat("${CMAKE_SUPPORT_DIR}/lucene_CMakeLists.txt.in" ${DEPS_TMP_FILE}) - add_definitions(-DUSE_LUCENE) -endif(${BUILD_WITH_LUCENE}) - -## NuRaft -if(${BUILD_WITH_NURAFT}) - cat("${CMAKE_SUPPORT_DIR}/nuraft_CMakeLists.txt.in" ${DEPS_TMP_FILE}) -endif(${BUILD_WITH_NURAFT}) - -## download dependencies -configure_file(${DEPS_TMP_FILE} "${CMAKE_SOURCE_DIR}/deps/deps-download/CMakeLists.txt") -execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/deps/deps-download") -execute_process(COMMAND "${CMAKE_COMMAND}" --build . - WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/deps/deps-download") - SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC -gdwarf-2 -msse4.2 -mfma") -# deps -add_subdirectory(deps) +# contrib +add_subdirectory(contrib) # api add_library(api INTERFACE) diff --git a/cmake/bdb_CMakeLists.txt.in b/cmake/bdb_CMakeLists.txt.in index ecb7b91d09..57acc95a11 100644 --- a/cmake/bdb_CMakeLists.txt.in +++ b/cmake/bdb_CMakeLists.txt.in @@ -3,8 +3,8 @@ ExternalProject_Add(bdb GIT_REPOSITORY https://github.com/berkeleydb/libdb.git GIT_TAG v5.3.28 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/bdb" - BINARY_DIR "${CMAKE_SOURCE_DIR}/deps/bdb" + SOURCE_DIR "${CMAKE_CONTRIB_DIR}/bdb" + BINARY_DIR "${CMAKE_CONTRIB_DIR}/bdb" #BUILD_IN_SOURCE TRUE CONFIGURE_COMMAND "./dist/configure" BUILD_COMMAND "$(MAKE)" diff --git a/cmake/cjson_CMakeLists.txt.in b/cmake/cjson_CMakeLists.txt.in index 6c285d1a7e..c9ec90e809 100644 --- a/cmake/cjson_CMakeLists.txt.in +++ b/cmake/cjson_CMakeLists.txt.in @@ -3,7 +3,7 @@ ExternalProject_Add(cjson GIT_REPOSITORY https://github.com/taosdata-contrib/cJSON.git GIT_TAG v1.7.15 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/cJson" + SOURCE_DIR "${CMAKE_CONTRIB_DIR}/cJson" BINARY_DIR "" CONFIGURE_COMMAND "" BUILD_COMMAND "" diff --git a/cmake/gtest_CMakeLists.txt.in b/cmake/gtest_CMakeLists.txt.in index e54806ae3b..98701456cf 100644 --- a/cmake/gtest_CMakeLists.txt.in +++ b/cmake/gtest_CMakeLists.txt.in @@ -3,7 +3,7 @@ ExternalProject_Add(googletest GIT_REPOSITORY https://github.com/taosdata-contrib/googletest.git GIT_TAG release-1.11.0 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/googletest" + SOURCE_DIR "${CMAKE_CONTRIB_DIR}/googletest" BINARY_DIR "" CONFIGURE_COMMAND "" BUILD_COMMAND "" diff --git a/cmake/leveldb_CMakeLists.txt.in b/cmake/leveldb_CMakeLists.txt.in index 7392f3d245..ac8a097b25 100644 --- a/cmake/leveldb_CMakeLists.txt.in +++ b/cmake/leveldb_CMakeLists.txt.in @@ -3,7 +3,7 @@ ExternalProject_Add(leveldb GIT_REPOSITORY https://github.com/taosdata-contrib/leveldb.git GIT_TAG master - SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/leveldb" + SOURCE_DIR "${CMAKE_CONTRIB_DIR}/leveldb" BINARY_DIR "" #BUILD_IN_SOURCE TRUE CONFIGURE_COMMAND "" diff --git a/cmake/lucene_CMakeLists.txt.in b/cmake/lucene_CMakeLists.txt.in index 436ac64475..d2a453df2f 100644 --- a/cmake/lucene_CMakeLists.txt.in +++ b/cmake/lucene_CMakeLists.txt.in @@ -2,7 +2,7 @@ # lucene ExternalProject_Add(lucene GIT_REPOSITORY https://github.com/yihaoDeng/LucenePlusPlus.git - SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/lucene" + SOURCE_DIR "${CMAKE_CONTRIB_DIR}/lucene" BINARY_DIR "" #BUILD_IN_SOURCE TRUE CONFIGURE_COMMAND "" diff --git a/cmake/lz4_CMakeLists.txt.in b/cmake/lz4_CMakeLists.txt.in index 4b25d48e86..199b325b09 100644 --- a/cmake/lz4_CMakeLists.txt.in +++ b/cmake/lz4_CMakeLists.txt.in @@ -3,7 +3,7 @@ ExternalProject_Add(lz4 GIT_REPOSITORY https://github.com/taosdata-contrib/lz4.git GIT_TAG v1.9.3 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/lz4" + SOURCE_DIR "${CMAKE_CONTRIB_DIR}/lz4" BINARY_DIR "" CONFIGURE_COMMAND "" BUILD_COMMAND "" diff --git a/cmake/nuraft_CMakeLists.txt.in b/cmake/nuraft_CMakeLists.txt.in index ba31480850..970cb3a830 100644 --- a/cmake/nuraft_CMakeLists.txt.in +++ b/cmake/nuraft_CMakeLists.txt.in @@ -3,8 +3,8 @@ ExternalProject_Add(NuRaft GIT_REPOSITORY https://github.com/eBay/NuRaft.git GIT_TAG v1.3.0 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/nuraft" - BINARY_DIR "${CMAKE_SOURCE_DIR}/deps/nuraft" + SOURCE_DIR "${CMAKE_CONTRIB_DIR}/nuraft" + BINARY_DIR "${CMAKE_CONTRIB_DIR}/nuraft" CONFIGURE_COMMAND "./prepare.sh" BUILD_COMMAND "" INSTALL_COMMAND "" diff --git a/cmake/rocksdb_CMakeLists.txt.in b/cmake/rocksdb_CMakeLists.txt.in index bacc48ecac..e38cd876f6 100644 --- a/cmake/rocksdb_CMakeLists.txt.in +++ b/cmake/rocksdb_CMakeLists.txt.in @@ -3,7 +3,7 @@ ExternalProject_Add(rocksdb GIT_REPOSITORY https://github.com/taosdata-contrib/rocksdb.git GIT_TAG v6.23.3 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/rocksdb" + SOURCE_DIR "${CMAKE_CONTRIB_DIR}/rocksdb" CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_COMMAND "" diff --git a/cmake/sqlite_CMakeLists.txt.in b/cmake/sqlite_CMakeLists.txt.in index 6fd981aeff..95308833db 100644 --- a/cmake/sqlite_CMakeLists.txt.in +++ b/cmake/sqlite_CMakeLists.txt.in @@ -3,8 +3,8 @@ ExternalProject_Add(sqlite GIT_REPOSITORY https://github.com/sqlite/sqlite.git GIT_TAG version-3.36.0 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/sqlite" - BINARY_DIR "${CMAKE_SOURCE_DIR}/deps/sqlite" + SOURCE_DIR "${CMAKE_CONTRIB_DIR}/sqlite" + BINARY_DIR "${CMAKE_CONTRIB_DIR}/sqlite" #BUILD_IN_SOURCE TRUE CONFIGURE_COMMAND "./configure" BUILD_COMMAND "$(MAKE)" diff --git a/cmake/zlib_CMakeLists.txt.in b/cmake/zlib_CMakeLists.txt.in index 2176486519..160d3305d0 100644 --- a/cmake/zlib_CMakeLists.txt.in +++ b/cmake/zlib_CMakeLists.txt.in @@ -3,7 +3,7 @@ ExternalProject_Add(zlib GIT_REPOSITORY https://github.com/taosdata-contrib/zlib.git GIT_TAG v1.2.11 - SOURCE_DIR "${CMAKE_SOURCE_DIR}/deps/zlib" + SOURCE_DIR "${CMAKE_CONTRIB_DIR}/zlib" BINARY_DIR "" #BUILD_IN_SOURCE TRUE CONFIGURE_COMMAND "" diff --git a/deps/CMakeLists.txt b/contrib/CMakeLists.txt similarity index 67% rename from deps/CMakeLists.txt rename to contrib/CMakeLists.txt index 0ef8c7e3be..37241bba9f 100644 --- a/deps/CMakeLists.txt +++ b/contrib/CMakeLists.txt @@ -1,3 +1,64 @@ +function(cat IN_FILE OUT_FILE) + file(READ ${IN_FILE} CONTENTS) + file(APPEND ${OUT_FILE} "${CONTENTS}") +endfunction(cat IN_FILE OUT_FILE) + +set(CONTRIB_TMP_FILE "${CMAKE_BINARY_DIR}/deps_tmp_CMakeLists.txt.in") +configure_file("${CMAKE_SUPPORT_DIR}/deps_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) + +## googletest +if(${BUILD_TEST}) + cat("${CMAKE_SUPPORT_DIR}/gtest_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) +endif(${BUILD_TEST}) + +## lz4 +cat("${CMAKE_SUPPORT_DIR}/lz4_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) + +## zlib +cat("${CMAKE_SUPPORT_DIR}/zlib_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) + +## cJson +cat("${CMAKE_SUPPORT_DIR}/cjson_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) + +## leveldb +if(${BUILD_WITH_LEVELDB}) + cat("${CMAKE_SUPPORT_DIR}/leveldb_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) +endif(${BUILD_WITH_LEVELDB}) + +## rocksdb +if(${BUILD_WITH_ROCKSDB}) + cat("${CMAKE_SUPPORT_DIR}/rocksdb_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) + add_definitions(-DUSE_ROCKSDB) +endif(${BUILD_WITH_ROCKSDB}) + +## bdb +if(${BUILD_WITH_BDB}) + cat("${CMAKE_SUPPORT_DIR}/bdb_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) +endif(${BUILD_WITH_DBD}) + +## sqlite +if(${BUILD_WITH_SQLITE}) + cat("${CMAKE_SUPPORT_DIR}/sqlite_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) +endif(${BUILD_WITH_SQLITE}) + +## lucene +if(${BUILD_WITH_LUCENE}) + cat("${CMAKE_SUPPORT_DIR}/lucene_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) + add_definitions(-DUSE_LUCENE) +endif(${BUILD_WITH_LUCENE}) + +## NuRaft +if(${BUILD_WITH_NURAFT}) + cat("${CMAKE_SUPPORT_DIR}/nuraft_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) +endif(${BUILD_WITH_NURAFT}) + +## download dependencies +configure_file(${CONTRIB_TMP_FILE} "${CMAKE_CONTRIB_DIR}/deps-download/CMakeLists.txt") +execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . + WORKING_DIRECTORY "${CMAKE_CONTRIB_DIR}/deps-download") +execute_process(COMMAND "${CMAKE_COMMAND}" --build . + WORKING_DIRECTORY "${CMAKE_CONTRIB_DIR}/deps-download") + # ================================================================================================ # DEPENDENCIES # ================================================================================================ diff --git a/deps/test/CMakeLists.txt b/contrib/test/CMakeLists.txt similarity index 100% rename from deps/test/CMakeLists.txt rename to contrib/test/CMakeLists.txt diff --git a/deps/test/bdb/CMakeLists.txt b/contrib/test/bdb/CMakeLists.txt similarity index 100% rename from deps/test/bdb/CMakeLists.txt rename to contrib/test/bdb/CMakeLists.txt diff --git a/deps/test/bdb/bdbTest.c b/contrib/test/bdb/bdbTest.c similarity index 100% rename from deps/test/bdb/bdbTest.c rename to contrib/test/bdb/bdbTest.c diff --git a/deps/test/lucene/CMakeLists.txt b/contrib/test/lucene/CMakeLists.txt similarity index 100% rename from deps/test/lucene/CMakeLists.txt rename to contrib/test/lucene/CMakeLists.txt diff --git a/deps/test/lucene/main.cpp b/contrib/test/lucene/main.cpp similarity index 100% rename from deps/test/lucene/main.cpp rename to contrib/test/lucene/main.cpp diff --git a/deps/test/rocksdb/CMakeLists.txt b/contrib/test/rocksdb/CMakeLists.txt similarity index 100% rename from deps/test/rocksdb/CMakeLists.txt rename to contrib/test/rocksdb/CMakeLists.txt diff --git a/deps/test/rocksdb/main.c b/contrib/test/rocksdb/main.c similarity index 100% rename from deps/test/rocksdb/main.c rename to contrib/test/rocksdb/main.c diff --git a/deps/test/sqlite/CMakeLists.txt b/contrib/test/sqlite/CMakeLists.txt similarity index 100% rename from deps/test/sqlite/CMakeLists.txt rename to contrib/test/sqlite/CMakeLists.txt diff --git a/deps/test/sqlite/sqliteTest.c b/contrib/test/sqlite/sqliteTest.c similarity index 100% rename from deps/test/sqlite/sqliteTest.c rename to contrib/test/sqlite/sqliteTest.c diff --git a/deps/test/tdev/CMakeLists.txt b/contrib/test/tdev/CMakeLists.txt similarity index 100% rename from deps/test/tdev/CMakeLists.txt rename to contrib/test/tdev/CMakeLists.txt diff --git a/deps/test/tdev/src/main.c b/contrib/test/tdev/src/main.c similarity index 100% rename from deps/test/tdev/src/main.c rename to contrib/test/tdev/src/main.c From 92ec87906ee2460e4dd6ea43cc4915220afe6b70 Mon Sep 17 00:00:00 2001 From: Hongze Cheng Date: Fri, 3 Dec 2021 14:40:35 +0800 Subject: [PATCH 4/4] reformat --- CMakeLists.txt | 3 --- contrib/CMakeLists.txt | 29 ++++++++++++++++------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 056fb6b509..b626977588 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,9 +6,6 @@ project( DESCRIPTION "An open-source big data platform designed and optimized for the Internet of Things(IOT)" ) -# ============================================================================ -# DEPENDENCIES -# ============================================================================ set(CMAKE_SUPPORT_DIR "${CMAKE_SOURCE_DIR}/cmake") set(CMAKE_CONTRIB_DIR "${CMAKE_SOURCE_DIR}/contrib") include(${CMAKE_SUPPORT_DIR}/cmake.options) diff --git a/contrib/CMakeLists.txt b/contrib/CMakeLists.txt index 37241bba9f..cffe164488 100644 --- a/contrib/CMakeLists.txt +++ b/contrib/CMakeLists.txt @@ -1,3 +1,6 @@ +# ================================================================================================ +# Download +# ================================================================================================ function(cat IN_FILE OUT_FILE) file(READ ${IN_FILE} CONTENTS) file(APPEND ${OUT_FILE} "${CONTENTS}") @@ -6,53 +9,53 @@ endfunction(cat IN_FILE OUT_FILE) set(CONTRIB_TMP_FILE "${CMAKE_BINARY_DIR}/deps_tmp_CMakeLists.txt.in") configure_file("${CMAKE_SUPPORT_DIR}/deps_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) -## googletest +# googletest if(${BUILD_TEST}) cat("${CMAKE_SUPPORT_DIR}/gtest_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) endif(${BUILD_TEST}) -## lz4 +# lz4 cat("${CMAKE_SUPPORT_DIR}/lz4_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) -## zlib +# zlib cat("${CMAKE_SUPPORT_DIR}/zlib_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) -## cJson +# cJson cat("${CMAKE_SUPPORT_DIR}/cjson_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) -## leveldb +# leveldb if(${BUILD_WITH_LEVELDB}) cat("${CMAKE_SUPPORT_DIR}/leveldb_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) endif(${BUILD_WITH_LEVELDB}) -## rocksdb +# rocksdb if(${BUILD_WITH_ROCKSDB}) cat("${CMAKE_SUPPORT_DIR}/rocksdb_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) add_definitions(-DUSE_ROCKSDB) endif(${BUILD_WITH_ROCKSDB}) -## bdb +# bdb if(${BUILD_WITH_BDB}) cat("${CMAKE_SUPPORT_DIR}/bdb_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) endif(${BUILD_WITH_DBD}) -## sqlite +# sqlite if(${BUILD_WITH_SQLITE}) cat("${CMAKE_SUPPORT_DIR}/sqlite_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) endif(${BUILD_WITH_SQLITE}) -## lucene +# lucene if(${BUILD_WITH_LUCENE}) cat("${CMAKE_SUPPORT_DIR}/lucene_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) add_definitions(-DUSE_LUCENE) endif(${BUILD_WITH_LUCENE}) -## NuRaft +# NuRaft if(${BUILD_WITH_NURAFT}) cat("${CMAKE_SUPPORT_DIR}/nuraft_CMakeLists.txt.in" ${CONTRIB_TMP_FILE}) endif(${BUILD_WITH_NURAFT}) -## download dependencies +# download dependencies configure_file(${CONTRIB_TMP_FILE} "${CMAKE_CONTRIB_DIR}/deps-download/CMakeLists.txt") execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}" . WORKING_DIRECTORY "${CMAKE_CONTRIB_DIR}/deps-download") @@ -60,7 +63,7 @@ execute_process(COMMAND "${CMAKE_COMMAND}" --build . WORKING_DIRECTORY "${CMAKE_CONTRIB_DIR}/deps-download") # ================================================================================================ -# DEPENDENCIES +# Build # ================================================================================================ # googletest if(${BUILD_TEST}) @@ -171,7 +174,7 @@ endif(${BUILD_WITH_SQLITE}) # ================================================================================================ -# DEPENDENCY TEST +# Build test # ================================================================================================ if(${BUILD_DEPENDENCY_TESTS}) add_subdirectory(test)