Merge pull request #9750 from Harry-Ramsey/improve-submodule-error-messages-3.6
[Backport 3.6] Improve submodule error messages for Github archives
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6c10580..46ca440 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -315,7 +315,11 @@
endif()
if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/framework/CMakeLists.txt")
- message(FATAL_ERROR "${CMAKE_CURRENT_SOURCE_DIR}/framework/CMakeLists.txt not found. Run `git submodule update --init` from the source tree to fetch the submodule contents.")
+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git/")
+ message(FATAL_ERROR "${CMAKE_CURRENT_SOURCE_DIR}CMakeLists.txt not found (and does appear to be a git checkout). Run `git submodule update --init` from the source tree to fetch the submodule contents.")
+ else ()
+ message(FATAL_ERROR "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt not found (and does not appear to be a git checkout). Please ensure you have downloaded the right archive from the release page on GitHub.")
+ endif()
endif()
add_subdirectory(framework)
diff --git a/Makefile b/Makefile
index e4d98c9..09c829a 100644
--- a/Makefile
+++ b/Makefile
@@ -6,11 +6,16 @@
ifeq (,$(wildcard framework/exported.make))
# Use the define keyword to get a multi-line message.
# GNU make appends ". Stop.", so tweak the ending of our message accordingly.
- define error_message
-$(MBEDTLS_PATH)/framework/exported.make not found.
-Run `git submodule update --init` to fetch the submodule contents.
+ ifeq (,$(wildcard .git))
+ define error_message
+${MBEDTLS_PATH}/framework/exported.make not found (and does appear to be a git checkout). Run `git submodule update --init` from the source tree to fetch the submodule contents.
This is a fatal error
- endef
+ endef
+ else
+ define error_message
+${MBEDTLS_PATH}/framework/exported.make not found (and does not appear to be a git checkout). Please ensure you have downloaded the right archive from the release page on GitHub.
+ endef
+ endif
$(error $(error_message))
endif
include framework/exported.make