py/mkrules: Add GIT_SUBMODULES_FAIL_IF_EMPTY flag for CMake ports.
The way CMake gathers the submodule list, it can quietly be empty if the previous step fails. This makes it an explicit error. This work was funded through GitHub Sponsors. Signed-off-by: Angus Gratton <angus@redyak.com.au>
This commit is contained in:
committed by
Angus Gratton
parent
43e3ab6131
commit
22353e9e1e
@@ -114,4 +114,4 @@ size-files:
|
|||||||
submodules:
|
submodules:
|
||||||
@GIT_SUBMODULES=$$(IDF_COMPONENT_MANAGER=0 idf.py $(IDFPY_FLAGS) -B $(BUILD)/submodules -D ECHO_SUBMODULES=1 build 2>&1 | \
|
@GIT_SUBMODULES=$$(IDF_COMPONENT_MANAGER=0 idf.py $(IDFPY_FLAGS) -B $(BUILD)/submodules -D ECHO_SUBMODULES=1 build 2>&1 | \
|
||||||
grep '^GIT_SUBMODULES=' | cut -d= -f2); \
|
grep '^GIT_SUBMODULES=' | cut -d= -f2); \
|
||||||
$(MAKE) -f ../../py/mkrules.mk GIT_SUBMODULES="$${GIT_SUBMODULES}" submodules
|
$(MAKE) -f ../../py/mkrules.mk GIT_SUBMODULES="$${GIT_SUBMODULES}" GIT_SUBMODULES_FAIL_IF_EMPTY=1 submodules
|
||||||
|
|||||||
@@ -76,4 +76,4 @@ submodules:
|
|||||||
$(MAKE) -f ../../py/mkrules.mk GIT_SUBMODULES="lib/pico-sdk" submodules
|
$(MAKE) -f ../../py/mkrules.mk GIT_SUBMODULES="lib/pico-sdk" submodules
|
||||||
@GIT_SUBMODULES=$$(cmake -B $(BUILD)/submodules -DECHO_SUBMODULES=1 ${CMAKE_ARGS} -S . 2>&1 | \
|
@GIT_SUBMODULES=$$(cmake -B $(BUILD)/submodules -DECHO_SUBMODULES=1 ${CMAKE_ARGS} -S . 2>&1 | \
|
||||||
grep '^GIT_SUBMODULES=' | cut -d= -f2); \
|
grep '^GIT_SUBMODULES=' | cut -d= -f2); \
|
||||||
$(MAKE) -f ../../py/mkrules.mk GIT_SUBMODULES="$${GIT_SUBMODULES}" submodules
|
$(MAKE) -f ../../py/mkrules.mk GIT_SUBMODULES="$${GIT_SUBMODULES}" GIT_SUBMODULES_FAIL_IF_EMPTY=1 submodules
|
||||||
|
|||||||
@@ -257,6 +257,13 @@ ifneq ($(GIT_SUBMODULES),)
|
|||||||
$(Q)cd $(TOP) && git submodule sync $(GIT_SUBMODULES)
|
$(Q)cd $(TOP) && git submodule sync $(GIT_SUBMODULES)
|
||||||
$(Q)cd $(TOP) && git submodule update --init --filter=blob:none $(GIT_SUBMODULES) || \
|
$(Q)cd $(TOP) && git submodule update --init --filter=blob:none $(GIT_SUBMODULES) || \
|
||||||
git submodule update --init $(GIT_SUBMODULES)
|
git submodule update --init $(GIT_SUBMODULES)
|
||||||
|
else
|
||||||
|
ifeq ($(GIT_SUBMODULES_FAIL_IF_EMPTY),1)
|
||||||
|
# If you see this error, it may mean the internal step run by the port's build
|
||||||
|
# system to find git submodules has failed. Double-check dependencies are set correctly.
|
||||||
|
$(ECHO) "Internal build error: The submodule list should not be empty."
|
||||||
|
exit 1
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
.PHONY: submodules
|
.PHONY: submodules
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user