diff options
author | Brad King <brad.king@kitware.com> | 2014-07-31 13:17:41 (GMT) |
---|---|---|
committer | CMake Topic Stage <kwrobot@kitware.com> | 2014-07-31 13:17:41 (GMT) |
commit | bd642272b9d9876277a318d3a861d5946a043c43 (patch) | |
tree | 94f060bf48247417fba7b0e9645bae0e1865860b | |
parent | c1560296db63f4021f6f9e38e3280fad13db9812 (diff) | |
parent | b2282631f61361fe5f103fa7479073f2693eafcb (diff) | |
download | CMake-bd642272b9d9876277a318d3a861d5946a043c43.zip CMake-bd642272b9d9876277a318d3a861d5946a043c43.tar.gz CMake-bd642272b9d9876277a318d3a861d5946a043c43.tar.bz2 |
Merge topic 'fix-CMP0049-extra-error'
b2282631 cmTarget: Do not mistake a preceding error for a CMP0049 failure
-rw-r--r-- | Source/cmTarget.cxx | 12 | ||||
-rw-r--r-- | Tests/RunCMake/Configure/CustomTargetAfterError-result.txt | 1 | ||||
-rw-r--r-- | Tests/RunCMake/Configure/CustomTargetAfterError-stderr.txt | 9 | ||||
-rw-r--r-- | Tests/RunCMake/Configure/CustomTargetAfterError.cmake | 3 | ||||
-rw-r--r-- | Tests/RunCMake/Configure/RunCMakeTest.cmake | 1 |
5 files changed, 21 insertions, 5 deletions
diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index ca24d2d..acae0b3 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -927,10 +927,13 @@ void cmTarget::AddSources(std::vector<std::string> const& srcs) if(!(src[0] == '$' && src[1] == '<')) { - filename = this->ProcessSourceItemCMP0049(filename); - if (cmSystemTools::GetErrorOccuredFlag()) + if(!filename.empty()) { - return; + filename = this->ProcessSourceItemCMP0049(filename); + if(filename.empty()) + { + return; + } } this->Makefile->GetOrCreateSource(filename); } @@ -998,8 +1001,7 @@ std::string cmTarget::ProcessSourceItemCMP0049(const std::string& s) cmSourceFile* cmTarget::AddSourceCMP0049(const std::string& s) { std::string src = this->ProcessSourceItemCMP0049(s); - - if (cmSystemTools::GetErrorOccuredFlag()) + if(!s.empty() && src.empty()) { return 0; } diff --git a/Tests/RunCMake/Configure/CustomTargetAfterError-result.txt b/Tests/RunCMake/Configure/CustomTargetAfterError-result.txt new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/Tests/RunCMake/Configure/CustomTargetAfterError-result.txt @@ -0,0 +1 @@ +1 diff --git a/Tests/RunCMake/Configure/CustomTargetAfterError-stderr.txt b/Tests/RunCMake/Configure/CustomTargetAfterError-stderr.txt new file mode 100644 index 0000000..7ce7daf --- /dev/null +++ b/Tests/RunCMake/Configure/CustomTargetAfterError-stderr.txt @@ -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\)$ diff --git a/Tests/RunCMake/Configure/CustomTargetAfterError.cmake b/Tests/RunCMake/Configure/CustomTargetAfterError.cmake new file mode 100644 index 0000000..3e26455 --- /dev/null +++ b/Tests/RunCMake/Configure/CustomTargetAfterError.cmake @@ -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") diff --git a/Tests/RunCMake/Configure/RunCMakeTest.cmake b/Tests/RunCMake/Configure/RunCMakeTest.cmake index 5ef0384..58e1a2a 100644 --- a/Tests/RunCMake/Configure/RunCMakeTest.cmake +++ b/Tests/RunCMake/Configure/RunCMakeTest.cmake @@ -1,5 +1,6 @@ include(RunCMake) +run_cmake(CustomTargetAfterError) run_cmake(ErrorLogs) run_cmake(FailCopyFileABI) |