cmTarget: Do not mistake a preceding error for a CMP0049 failure
After calls to ProcessSourceItemCMP0049, check for an empty return string to detect a failure instead of trusting GetErrorOccuredFlag. The latter could have been left from a preceding non-fatal error. Extend the RunCMake.Configure test to cover a case that exposed this problem.
This commit is contained in:
parent
8d1306cd1b
commit
b2282631f6
|
@ -927,10 +927,13 @@ void cmTarget::AddSources(std::vector<std::string> const& srcs)
|
||||||
|
|
||||||
if(!(src[0] == '$' && src[1] == '<'))
|
if(!(src[0] == '$' && src[1] == '<'))
|
||||||
{
|
{
|
||||||
filename = this->ProcessSourceItemCMP0049(filename);
|
if(!filename.empty())
|
||||||
if (cmSystemTools::GetErrorOccuredFlag())
|
|
||||||
{
|
{
|
||||||
return;
|
filename = this->ProcessSourceItemCMP0049(filename);
|
||||||
|
if(filename.empty())
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this->Makefile->GetOrCreateSource(filename);
|
this->Makefile->GetOrCreateSource(filename);
|
||||||
}
|
}
|
||||||
|
@ -998,8 +1001,7 @@ std::string cmTarget::ProcessSourceItemCMP0049(const std::string& s)
|
||||||
cmSourceFile* cmTarget::AddSourceCMP0049(const std::string& s)
|
cmSourceFile* cmTarget::AddSourceCMP0049(const std::string& s)
|
||||||
{
|
{
|
||||||
std::string src = this->ProcessSourceItemCMP0049(s);
|
std::string src = this->ProcessSourceItemCMP0049(s);
|
||||||
|
if(!s.empty() && src.empty())
|
||||||
if (cmSystemTools::GetErrorOccuredFlag())
|
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
1
|
|
@ -0,0 +1,9 @@
|
||||||
|
^CMake Error at CustomTargetAfterError.cmake:1 \(message\):
|
||||||
|
Error before add_custom_target
|
||||||
|
Call Stack \(most recent call first\):
|
||||||
|
CMakeLists.txt:3 \(include\)
|
||||||
|
+
|
||||||
|
CMake Error at CustomTargetAfterError.cmake:3 \(message\):
|
||||||
|
Error after add_custom_target
|
||||||
|
Call Stack \(most recent call first\):
|
||||||
|
CMakeLists.txt:3 \(include\)$
|
|
@ -0,0 +1,3 @@
|
||||||
|
message(SEND_ERROR "Error before add_custom_target")
|
||||||
|
add_custom_target(foo COMMAND echo)
|
||||||
|
message(SEND_ERROR "Error after add_custom_target")
|
|
@ -1,5 +1,6 @@
|
||||||
include(RunCMake)
|
include(RunCMake)
|
||||||
|
|
||||||
|
run_cmake(CustomTargetAfterError)
|
||||||
run_cmake(ErrorLogs)
|
run_cmake(ErrorLogs)
|
||||||
run_cmake(FailCopyFileABI)
|
run_cmake(FailCopyFileABI)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue