@@ -139,29 +139,39 @@ THIRD_PARTY_BUILD_DIR ?= $(MAKEFILE_DIR)/.deps
139139THIRD_PARTY_SRC_DIR ?= $(MAKEFILE_DIR ) /thirdsrc
140140THIRD_PARTY_DIR ?= $(THIRD_PARTY_BUILD_DIR ) /usr
141141
142- # trick: for those compile inside hybridsql docker image, thirdparty is pre-installed in /deps/usr.
143- # we check this by asserting if the environment variable '$THIRD_PARTY_DIR' is defined to '/deps/usr',
144- # if true, thirdparty download is skipped
145- # zetasql check separately since it update more frequently:
146- # it will updated if the variable '$ZETASQL_VERSION' (defined in docker) not equal to that defined in current code
147- override GREP_PATTERN = "set(ZETASQL_VERSION"
142+ override ZETASQL_PATTERN = "set(ZETASQL_VERSION"
143+ override THIRD_PATTERN = "set(HYBRIDSQL_ASSERTS_VERSION"
144+ new_zetasql_version := $(shell grep $(ZETASQL_PATTERN ) third-party/cmake/FetchZetasql.cmake | sed 's/[^0-9.]* \([0-9.]* \) .*/\1/')
145+ new_third_version := $(shell grep $(THIRD_PATTERN ) third-party/CMakeLists.txt | sed 's/[^0-9.]* \([0-9.]* \) .*/\1/')
146+
148147thirdparty-fast :
149148 @if [ $( THIRD_PARTY_DIR) != " /deps/usr" ] ; then \
150149 echo " [deps]: install thirdparty and zetasql" ; \
151150 $(MAKE ) thirdparty; \
152- elif [ -n " $( ZETASQL_VERSION) " ]; then \
153- new_zetasql_version=$(shell grep $(GREP_PATTERN ) third-party/cmake/FetchZetasql.cmake | sed 's/[^0-9.]* \([0-9.]* \) .* /\1 /' ); \
154- if [ " $$ new_zetasql_version" != " $( ZETASQL_VERSION) " ] ; then \
155- echo " [deps]: thirdparty up-to-date. reinstall zetasql from $( ZETASQL_VERSION) to $$ new_zetasql_version" ; \
156- $(MAKE ) thirdparty-configure; \
157- $(CMAKE_PRG ) --build $(THIRD_PARTY_BUILD_DIR ) --target zetasql; \
158- else \
159- echo " [deps]: all up-to-date. zetasql already installed with version: $( ZETASQL_VERSION) " ; \
160- fi ; \
161151 else \
162- echo " [deps]: install zetasql only" ; \
163152 $(MAKE ) thirdparty-configure; \
164- $(CMAKE_PRG ) --build $(THIRD_PARTY_BUILD_DIR ) --target zetasql; \
153+ if [ -n " $( ZETASQL_VERSION) " ] ; then \
154+ if [ " $( new_zetasql_version) " != " $( ZETASQL_VERSION) " ] ; then \
155+ echo " [deps]: installing zetasql from $( ZETASQL_VERSION) to $( new_zetasql_version) " ; \
156+ $(CMAKE_PRG ) --build $(THIRD_PARTY_BUILD_DIR ) --target zetasql; \
157+ else \
158+ echo " [deps]: zetasql up-to-date with version: $( ZETASQL_VERSION) " ; \
159+ fi ; \
160+ else \
161+ echo " [deps]: installing latest zetasql" ; \
162+ $(CMAKE_PRG ) --build $(THIRD_PARTY_BUILD_DIR ) --target zetasql; \
163+ fi ; \
164+ if [ -n " $( THIRDPARTY_VERSION) " ]; then \
165+ if [ " $( new_third_version) " != " $( THIRDPARTY_VERSION) " ] ; then \
166+ echo " [deps]: installing thirdparty from $( THIRDPARTY_VERSION) to $( new_third_version) " ; \
167+ $(CMAKE_PRG ) --build $(THIRD_PARTY_BUILD_DIR ) --target hybridsql-asserts; \
168+ else \
169+ echo " [deps]: thirdparty up-to-date: $( THIRDPARTY_VERSION) " ; \
170+ fi ; \
171+ else \
172+ echo " [deps]: installing latest thirdparty" ; \
173+ $(CMAKE_PRG ) --build $(THIRD_PARTY_BUILD_DIR ) --target hybridsql-asserts; \
174+ fi ; \
165175 fi
166176
167177# third party compiled code install to 'OpenMLDB/.deps/usr', source code install to 'OpenMLDB/thirdsrc'
0 commit comments