diff --git a/.gitignore b/.gitignore index 8df75abe202411ea5578337da09dce0de9467a73..ba8543e518e1bfe6a8b479cd6acae21b50b9b226 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 a9450220a7e4dec93c5ee73e0740dee6e50d3556..056fb6b509c01e5f8aac37f8c6b4d9572fcaf368 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 ecb7b91d097c52e7ab57e4da16eacf1c7f44384a..57acc95a1175e1eee677169d5c9f10d6f5cd1843 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 6c285d1a7ed4cb191c28d579940db575b82d0da9..c9ec90e80901c8bc9ba202708e14c48b67a1b763 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 e54806ae3bce2ac7fbb1b6d75c3ac4b468940a98..98701456cfa3c1841a68f624d9a0c1f760fa6faf 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 7392f3d245154d34be78cf69470c28ae8338aefd..ac8a097b25e5556fc31d86728bf70c1179a270b2 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 436ac64475a245e52e8b0edce05e5b5607813f3e..d2a453df2f8795f178e97feaa2cbe7d737c3b086 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 4b25d48e869785ebcbfd1e41464160e038bbea58..199b325b09b43bc19e8d04e2110f7630e85b3f11 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 ba31480850763f484cbd94a630999578b71f6a9a..970cb3a830b1ebc76479f860462a3a3f1de3d55a 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 bacc48ecac27ab7762652ea67a58dc86ff4f8181..e38cd876f68936ac0c891353417e493804d606f8 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 6fd981aeff65300233ad431f5d9d95f81abd5513..95308833db6b5304863a752e3c8eb36709460efd 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 217648651949e1b1e18cfe198da42f3f5f95b0dc..160d3305d0815306b2f76e4c3a18d8d02ceecd89 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 0ef8c7e3bed9b38bb4097c0cdd72d01c7d637e7e..37241bba9f3955af3651bf2a2848ee2d03b7c8fc 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