diff --git a/CMakeLists.txt b/CMakeLists.txt index 2eba16da5d..6a0e003b24 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -284,7 +284,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 "${MBEDTLS_FRAMEWORK_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 "${MBEDTLS_FRAMEWORK_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 e0a7510d75..3b89183e1c 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_FRAMEWORK_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. This is a fatal error + endef + else + define error_message +${MBEDTLS_FRAMEWORK_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. endef + endif $(error $(error_message)) endif include framework/exported.make