[Cmake-commits] CMake branch, next, updated. v3.1.0-1794-g3bc2cac
Brad King
brad.king at kitware.com
Mon Jan 12 10:31:13 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 3bc2cacc230c3270883eb05d7398f27036ef33ac (commit)
via 45ec182d27dc27412c94ccb49632e22a55d5fbe4 (commit)
via 2bead0eb1b605cc5d0db23d9af00087277157921 (commit)
from 370dc75e6eaceb724ff5b1a83c832b41f837bfbc (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=3bc2cacc230c3270883eb05d7398f27036ef33ac
commit 3bc2cacc230c3270883eb05d7398f27036ef33ac
Merge: 370dc75 45ec182
Author: Brad King <brad.king at kitware.com>
AuthorDate: Mon Jan 12 10:31:12 2015 -0500
Commit: CMake Topic Stage <kwrobot at kitware.com>
CommitDate: Mon Jan 12 10:31:12 2015 -0500
Merge topic 'fix-COMPILE_FEATURES-genex' into next
45ec182d Features: Fix the COMPILE_FEATURES genex for unavailable features.
2bead0eb cmMakefile: Rename a method to what it really does.
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=45ec182d27dc27412c94ccb49632e22a55d5fbe4
commit 45ec182d27dc27412c94ccb49632e22a55d5fbe4
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 17:53:37 2015 +0100
Commit: Brad King <brad.king at kitware.com>
CommitDate: Mon Jan 12 10:30:43 2015 -0500
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=2bead0eb1b605cc5d0db23d9af00087277157921
commit 2bead0eb1b605cc5d0db23d9af00087277157921
Author: Stephen Kelly <steveire at gmail.com>
AuthorDate: Sun Jan 11 17:43:44 2015 +0100
Commit: Brad King <brad.king at kitware.com>
CommitDate: Mon Jan 12 10:30:43 2015 -0500
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..ab77e4a 100644
--- a/Source/cmMakefile.cxx
+++ b/Source/cmMakefile.cxx
@@ -5130,18 +5130,19 @@ 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 +5219,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:
hooks/post-receive
--
CMake
More information about the Cmake-commits
mailing list