ExternalProject: Improve error when SOURCE_DIR is missing (#15560)
Mention the SOURCE_DIR that we checked and found empty or missing so that the user can see the full path to what we expected to find.
This commit is contained in:
parent
4566850bdd
commit
dcb188363d
|
@ -1866,7 +1866,18 @@ function(_ep_add_download_command name)
|
||||||
else()
|
else()
|
||||||
_ep_is_dir_empty("${source_dir}" empty)
|
_ep_is_dir_empty("${source_dir}" empty)
|
||||||
if(${empty})
|
if(${empty})
|
||||||
message(SEND_ERROR "error: no download info for '${name}' -- please specify existing/non-empty SOURCE_DIR or one of URL, CVS_REPOSITORY and CVS_MODULE, SVN_REPOSITORY, GIT_REPOSITORY, HG_REPOSITORY or DOWNLOAD_COMMAND")
|
message(SEND_ERROR
|
||||||
|
"No download info given for '${name}' and its source directory:\n"
|
||||||
|
" ${source_dir}\n"
|
||||||
|
"is not an existing non-empty directory. Please specify one of:\n"
|
||||||
|
" * SOURCE_DIR with an existing non-empty directory\n"
|
||||||
|
" * URL\n"
|
||||||
|
" * GIT_REPOSITORY\n"
|
||||||
|
" * HG_REPOSITORY\n"
|
||||||
|
" * CVS_REPOSITORY and CVS_MODULE\n"
|
||||||
|
" * SVN_REVISION\n"
|
||||||
|
" * DOWNLOAD_COMMAND"
|
||||||
|
)
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
1
|
|
@ -0,0 +1,18 @@
|
||||||
|
^CMake Error at .*/Modules/ExternalProject.cmake:[0-9]+ \(message\):
|
||||||
|
No download info given for 'MyProj' and its source directory:
|
||||||
|
|
||||||
|
.*/Tests/RunCMake/ExternalProject/NoOptions-build/MyProj-prefix/src/MyProj
|
||||||
|
|
||||||
|
is not an existing non-empty directory. Please specify one of:
|
||||||
|
|
||||||
|
\* SOURCE_DIR with an existing non-empty directory
|
||||||
|
\* URL
|
||||||
|
\* GIT_REPOSITORY
|
||||||
|
\* HG_REPOSITORY
|
||||||
|
\* CVS_REPOSITORY and CVS_MODULE
|
||||||
|
\* SVN_REVISION
|
||||||
|
\* DOWNLOAD_COMMAND
|
||||||
|
Call Stack \(most recent call first\):
|
||||||
|
.*/Modules/ExternalProject.cmake:[0-9]+ \(_ep_add_download_command\)
|
||||||
|
NoOptions.cmake:[0-9]+ \(ExternalProject_Add\)
|
||||||
|
CMakeLists.txt:[0-9]+ \(include\)$
|
|
@ -0,0 +1,2 @@
|
||||||
|
include(ExternalProject)
|
||||||
|
ExternalProject_Add(MyProj)
|
|
@ -1,5 +1,8 @@
|
||||||
include(RunCMake)
|
include(RunCMake)
|
||||||
|
|
||||||
|
run_cmake(NoOptions)
|
||||||
|
run_cmake(SourceEmpty)
|
||||||
|
run_cmake(SourceMissing)
|
||||||
run_cmake(CMAKE_CACHE_ARGS)
|
run_cmake(CMAKE_CACHE_ARGS)
|
||||||
run_cmake(CMAKE_CACHE_DEFAULT_ARGS)
|
run_cmake(CMAKE_CACHE_DEFAULT_ARGS)
|
||||||
run_cmake(CMAKE_CACHE_mix)
|
run_cmake(CMAKE_CACHE_mix)
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
1
|
|
@ -0,0 +1,18 @@
|
||||||
|
^CMake Error at .*/Modules/ExternalProject.cmake:[0-9]+ \(message\):
|
||||||
|
No download info given for 'MyProj' and its source directory:
|
||||||
|
|
||||||
|
.*/Tests/RunCMake/ExternalProject/SourceEmpty-build/SourceEmpty
|
||||||
|
|
||||||
|
is not an existing non-empty directory. Please specify one of:
|
||||||
|
|
||||||
|
\* SOURCE_DIR with an existing non-empty directory
|
||||||
|
\* URL
|
||||||
|
\* GIT_REPOSITORY
|
||||||
|
\* HG_REPOSITORY
|
||||||
|
\* CVS_REPOSITORY and CVS_MODULE
|
||||||
|
\* SVN_REVISION
|
||||||
|
\* DOWNLOAD_COMMAND
|
||||||
|
Call Stack \(most recent call first\):
|
||||||
|
.*/Modules/ExternalProject.cmake:[0-9]+ \(_ep_add_download_command\)
|
||||||
|
SourceEmpty.cmake:[0-9]+ \(ExternalProject_Add\)
|
||||||
|
CMakeLists.txt:[0-9]+ \(include\)$
|
|
@ -0,0 +1,5 @@
|
||||||
|
include(ExternalProject)
|
||||||
|
set(source_dir "${CMAKE_CURRENT_BINARY_DIR}/SourceEmpty")
|
||||||
|
file(REMOVE_RECURSE "${source_dir}")
|
||||||
|
file(MAKE_DIRECTORY "${source_dir}")
|
||||||
|
ExternalProject_Add(MyProj SOURCE_DIR "${source_dir}")
|
|
@ -0,0 +1 @@
|
||||||
|
1
|
|
@ -0,0 +1,18 @@
|
||||||
|
^CMake Error at .*/Modules/ExternalProject.cmake:[0-9]+ \(message\):
|
||||||
|
No download info given for 'MyProj' and its source directory:
|
||||||
|
|
||||||
|
.*/Tests/RunCMake/ExternalProject/SourceMissing-build/SourceMissing
|
||||||
|
|
||||||
|
is not an existing non-empty directory. Please specify one of:
|
||||||
|
|
||||||
|
\* SOURCE_DIR with an existing non-empty directory
|
||||||
|
\* URL
|
||||||
|
\* GIT_REPOSITORY
|
||||||
|
\* HG_REPOSITORY
|
||||||
|
\* CVS_REPOSITORY and CVS_MODULE
|
||||||
|
\* SVN_REVISION
|
||||||
|
\* DOWNLOAD_COMMAND
|
||||||
|
Call Stack \(most recent call first\):
|
||||||
|
.*/Modules/ExternalProject.cmake:[0-9]+ \(_ep_add_download_command\)
|
||||||
|
SourceMissing.cmake:[0-9]+ \(ExternalProject_Add\)
|
||||||
|
CMakeLists.txt:[0-9]+ \(include\)$
|
|
@ -0,0 +1,2 @@
|
||||||
|
include(ExternalProject)
|
||||||
|
ExternalProject_Add(MyProj SOURCE_DIR SourceMissing)
|
Loading…
Reference in New Issue