[Cmake-commits] CMake branch, next, updated. v3.2.0-rc2-800-g7f827ec
Brad King
brad.king at kitware.com
Sat Feb 28 12:15:24 EST 2015
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".
The branch, next has been updated
via 7f827ece69940026a557f7906ac6436d24962f57 (commit)
via 00d66557d49989f9813ba9f04beaa0a984699cf0 (commit)
from 284b149f166f4a51e25a6ef32e234e9d88a4d005 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=7f827ece69940026a557f7906ac6436d24962f57
commit 7f827ece69940026a557f7906ac6436d24962f57
Merge: 284b149 00d6655
Author: Brad King <brad.king at kitware.com>
AuthorDate: Sat Feb 28 12:15:24 2015 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sat Feb 28 12:15:24 2015 -0500
Merge topic 'fix-crash-on-bad-LANG_STANDARD' into next
00d66557 Diagnose invalid <LANG>_STANDARD value instead of crashing (#15426)
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=00d66557d49989f9813ba9f04beaa0a984699cf0
commit 00d66557d49989f9813ba9f04beaa0a984699cf0
Author: Brad King <brad.king at kitware.com>
AuthorDate: Fri Feb 27 16:48:39 2015 -0500
Commit: Brad King <brad.king at kitware.com>
CommitDate: Sat Feb 28 12:14:42 2015 -0500
Diagnose invalid <LANG>_STANDARD value instead of crashing (#15426)
diff --git a/Source/cmLocalGenerator.cxx b/Source/cmLocalGenerator.cxx
index 7ca7684..b64383f 100644
--- a/Source/cmLocalGenerator.cxx
+++ b/Source/cmLocalGenerator.cxx
@@ -2270,7 +2270,14 @@ AddCompilerRequirementFlag(std::string &flags, cmTarget* target,
std::vector<std::string>::const_iterator stdIt =
std::find(stds.begin(), stds.end(), standard);
- assert(stdIt != stds.end());
+ if (stdIt == stds.end())
+ {
+ std::string e =
+ lang + "_STANDARD is set to invalid value '" + standard + "'";
+ this->GetGlobalGenerator()->GetCMakeInstance()
+ ->IssueMessage(cmake::FATAL_ERROR, e, target->GetBacktrace());
+ return;
+ }
std::vector<std::string>::const_iterator defaultStdIt =
std::find(stds.begin(), stds.end(), defaultStd);
diff --git a/Tests/RunCMake/CompileFeatures/NotAStandard-result.txt b/Tests/RunCMake/CompileFeatures/NotAStandard-result.txt
new file mode 100644
index 0000000..d00491f
--- /dev/null
+++ b/Tests/RunCMake/CompileFeatures/NotAStandard-result.txt
@@ -0,0 +1 @@
+1
diff --git a/Tests/RunCMake/CompileFeatures/NotAStandard-stderr.txt b/Tests/RunCMake/CompileFeatures/NotAStandard-stderr.txt
new file mode 100644
index 0000000..deab12f
--- /dev/null
+++ b/Tests/RunCMake/CompileFeatures/NotAStandard-stderr.txt
@@ -0,0 +1,4 @@
+CMake Error at NotAStandard.cmake:[0-9]+ \(add_library\):
+ CXX_STANDARD is set to invalid value 'bad'
+Call Stack \(most recent call first\):
+ CMakeLists.txt:[0-9]+ \(include\)
diff --git a/Tests/RunCMake/CompileFeatures/NotAStandard.cmake b/Tests/RunCMake/CompileFeatures/NotAStandard.cmake
new file mode 100644
index 0000000..11529d8
--- /dev/null
+++ b/Tests/RunCMake/CompileFeatures/NotAStandard.cmake
@@ -0,0 +1,2 @@
+set(CMAKE_CXX_STANDARD bad)
+add_library(somelib STATIC empty.cpp)
diff --git a/Tests/RunCMake/CompileFeatures/RunCMakeTest.cmake b/Tests/RunCMake/CompileFeatures/RunCMakeTest.cmake
index 833a315..c1b2227 100644
--- a/Tests/RunCMake/CompileFeatures/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CompileFeatures/RunCMakeTest.cmake
@@ -43,6 +43,8 @@ else()
endif()
if(CXX_STANDARD_DEFAULT)
+ run_cmake(NotAStandard)
+
foreach(standard 98 11)
file(READ
"${RunCMake_BINARY_DIR}/generate_feature_list-build/cxx${standard}_flag.txt"
-----------------------------------------------------------------------
Summary of changes:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list