Improve submodule error messages for Github archives

This commit improves the error messages informing users that have
downloaded Github archives to instead download a release archive. This
is due to Github not supporting submodules within archives and no
trivial way for users to use git to download them.

Signed-off-by: Harry Ramsey <harry.ramsey@arm.com>
This commit is contained in:
Harry Ramsey 2024-09-17 15:12:11 +01:00
parent 13d2939563
commit e05cf2e11e
2 changed files with 18 additions and 1 deletions

View File

@ -323,7 +323,11 @@ if(LIB_INSTALL_DIR)
endif()
if (NOT EXISTS "${MBEDTLS_FRAMEWORK_DIR}/CMakeLists.txt")
message(FATAL_ERROR "${MBEDTLS_FRAMEWORK_DIR}/CMakeLists.txt not found. Run `git submodule update --init` from the source tree to fetch the submodule contents.")
if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git/")
message(FATAL_ERROR "${CMAKE_CURRENT_SOURCE_DIR}/.git/ not found. Please ensure you have downloaded a release version of Mbed TLS from GitHub.")
else ()
message(FATAL_ERROR "${MBEDTLS_FRAMEWORK_DIR}/CMakeLists.txt not found. Run `git submodule update --init` from the source tree to fetch the submodule contents.")
endif()
endif()
add_subdirectory(framework)

View File

@ -11,6 +11,19 @@ $(MBEDTLS_PATH)/framework/exported.make not found.
Run `git submodule update --init` to fetch the submodule contents.
This is a fatal error
endef
ifeq (,$(wildcard .git))
define error_message
$(MBEDTLS_PATH)/.git/ not found.
Please ensure you have downloaded a release version of Mbed TLS from GitHub.
This is a fatal error
endef
else
define error_message
$(MBEDTLS_PATH)/framework/exported.make not found.
Run `git submodule update --init` to fetch the submodule contents.
This is a fatal error
endef
endif
$(error $(error_message))
endif
include framework/exported.make