[Cmake-commits] CMake branch, next, updated. v3.1.0-1719-g0452db7
Stephen Kelly
steveire at gmail.com
Sun Jan 11 12:08:47 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 0452db7c106afd86139b90690d205f4f4b066df6 (commit)
via ed8fba843b77d17f5d3b320ef8d31418b97d07d0 (commit)
via a0b2da07794db73b54d370720d4f44a1f607dd18 (commit)
from 2bfca5803250de609c158c8f1c5c7db4c86a883d (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=0452db7c106afd86139b90690d205f4f4b066df6
commit 0452db7c106afd86139b90690d205f4f4b066df6
Merge: 2bfca58 ed8fba8
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 12:08:46 2015 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Sun Jan 11 12:08:46 2015 -0500
Merge topic 'fix-COMPILE_FEATURES-genex' into next
ed8fba84 Features: Fix the COMPILE_FEATURES genex for unavailable features.
a0b2da07 cmMakefile: Rename a method to what it really does.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=ed8fba843b77d17f5d3b320ef8d31418b97d07d0
commit ed8fba843b77d17f5d3b320ef8d31418b97d07d0
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 17:53:37 2015 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Jan 11 18:08:09 2015 +0100
Features: Fix the COMPILE_FEATURES genex for unavailable features.
Previously, the genex tested only for CMake knowledge of the feature,
but not compiler knowledge of the feature.
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index 9ffe9f2..d5d78d5 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -1373,9 +1373,16 @@ static const struct CompileFeaturesNode : public cmGeneratorExpressionNode
for (LangMap::const_iterator lit = testedFeatures.begin();
lit != testedFeatures.end(); ++lit)
{
+ std::vector<std::string> const& langAvailable
+ = availableFeatures[lit->first];
for (std::vector<std::string>::const_iterator it = lit->second.begin();
it != lit->second.end(); ++it)
{
+ if (std::find(langAvailable.begin(), langAvailable.end(), *it)
+ == langAvailable.end())
+ {
+ return "0";
+ }
if (!context->Makefile->HaveStandardAvailable(target,
lit->first, *it))
{
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a0b2da07794db73b54d370720d4f44a1f607dd18
commit a0b2da07794db73b54d370720d4f44a1f607dd18
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 17:43:44 2015 +0100
Commit: Stephen Kelly <steveire at gmail.com>
CommitDate: Sun Jan 11 18:08:03 2015 +0100
cmMakefile: Rename a method to what it really does.
The method does not test availability of compile features.
diff --git a/Source/cmGeneratorExpressionEvaluator.cxx b/Source/cmGeneratorExpressionEvaluator.cxx
index 84a4daa..9ffe9f2 100644
--- a/Source/cmGeneratorExpressionEvaluator.cxx
+++ b/Source/cmGeneratorExpressionEvaluator.cxx
@@ -1376,7 +1376,7 @@ static const struct CompileFeaturesNode : public cmGeneratorExpressionNode
for (std::vector<std::string>::const_iterator it = lit->second.begin();
it != lit->second.end(); ++it)
{
- if (!context->Makefile->HaveFeatureAvailable(target,
+ if (!context->Makefile->HaveStandardAvailable(target,
lit->first, *it))
{
if (evalLL)
diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx
index b7e89b8..e15a1c1 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -5130,18 +5130,18 @@ CompileFeaturesAvailable(const std::string& lang, std::string *error) const
}
//----------------------------------------------------------------------------
-bool cmMakefile::HaveFeatureAvailable(cmTarget const* target,
+bool cmMakefile::HaveStandardAvailable(cmTarget const* target,
std::string const& lang,
const std::string& feature) const
{
return lang == "C"
- ? this->HaveCFeatureAvailable(target, feature)
- : this->HaveCxxFeatureAvailable(target, feature);
+ ? this->HaveCStandardAvailable(target, feature)
+ : this->HaveCxxStandardAvailable(target, feature);
}
//----------------------------------------------------------------------------
bool cmMakefile::
-HaveCFeatureAvailable(cmTarget const* target, const std::string& feature) const
+HaveCStandardAvailable(cmTarget const* target, const std::string& feature) const
{
bool needC90 = false;
bool needC99 = false;
@@ -5218,7 +5218,7 @@ bool cmMakefile::IsLaterStandard(std::string const& lang,
}
//----------------------------------------------------------------------------
-bool cmMakefile::HaveCxxFeatureAvailable(cmTarget const* target,
+bool cmMakefile::HaveCxxStandardAvailable(cmTarget const* target,
const std::string& feature) const
{
bool needCxx98 = false;
diff --git a/Source/cmMakefile.h b/Source/cmMakefile.h
index 28f8686..24a4f00 100644
--- a/Source/cmMakefile.h
+++ b/Source/cmMakefile.h
@@ -935,7 +935,7 @@ public:
const char* CompileFeaturesAvailable(const std::string& lang,
std::string *error) const;
- bool HaveFeatureAvailable(cmTarget const* target, std::string const& lang,
+ bool HaveStandardAvailable(cmTarget const* target, std::string const& lang,
const std::string& feature) const;
bool IsLaterStandard(std::string const& lang,
@@ -1158,9 +1158,9 @@ private:
void CheckNeededCxxLanguage(const std::string& feature, bool& needCxx98,
bool& needCxx11, bool& needCxx14) const;
- bool HaveCFeatureAvailable(cmTarget const* target,
+ bool HaveCStandardAvailable(cmTarget const* target,
const std::string& feature) const;
- bool HaveCxxFeatureAvailable(cmTarget const* target,
+ bool HaveCxxStandardAvailable(cmTarget const* target,
const std::string& feature) const;
mutable bool SuppressWatches;
-----------------------------------------------------------------------
Summary of changes:
Source/cmGeneratorExpressionEvaluator.cxx | 9 ++++++++-
Source/cmMakefile.cxx | 10 +++++-----
Source/cmMakefile.h | 6 +++---
3 files changed, 16 insertions(+), 9 deletions(-)
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list