diff --git a/CMakeLists.txt b/CMakeLists.txt index 6c1058059a..46ca44025b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -315,7 +315,11 @@ if(LIB_INSTALL_DIR) 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 e4d98c93aa..09c829ab5f 100644 --- a/Makefile +++ b/Makefile @@ -6,11 +6,16 @@ ifneq (,$(filter-out lib library/%,$(or $(MAKECMDGOALS),all))) 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