From b6b3189fdb15a6a71e4f9a4f07ba51532d8e12c0 Mon Sep 17 00:00:00 2001 From: Shuduo Sang Date: Sat, 7 May 2022 21:09:21 +0800 Subject: [PATCH] enh: cmake git submodule (#12213) [TD-15342] --- cmake/cmake.define | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/cmake/cmake.define b/cmake/cmake.define index aeab39cab4..3fd96fd9b6 100644 --- a/cmake/cmake.define +++ b/cmake/cmake.define @@ -14,6 +14,25 @@ MESSAGE(STATUS "Project binary files output path: " ${PROJECT_BINARY_DIR}) MESSAGE(STATUS "Project executable files output path: " ${EXECUTABLE_OUTPUT_PATH}) MESSAGE(STATUS "Project library files output path: " ${LIBRARY_OUTPUT_PATH}) +find_package(Git QUIET) +if(GIT_FOUND AND EXISTS "${PROJECT_SOURCE_DIR}/.git") +# Update submodules as needed + option(GIT_SUBMODULE "Check submodules during build" ON) + if(GIT_SUBMODULE) + message(STATUS "Submodule update") + execute_process(COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + RESULT_VARIABLE GIT_SUBMOD_RESULT) + if(NOT GIT_SUBMOD_RESULT EQUAL "0") + message(WARNING "git submodule update --init --recursive failed with ${GIT_SUBMOD_RESULT}, please checkout submodules") + endif() + endif() +endif() + +if(NOT EXISTS "${PROJECT_SOURCE_DIR}/tools/taos-tools/CMakeLists.txt") + message(WARNING "The submodules were not downloaded! GIT_SUBMODULE was turned off or failed. Please update submodules manually if you need build them.") +endif() + if (NOT DEFINED TD_GRANT) SET(TD_GRANT FALSE) endif()