From 16e17376c74b68d8e62658c63210a30da6b98428 Mon Sep 17 00:00:00 2001 From: Vitaly Stakhovsky Date: Thu, 16 Aug 2018 08:09:42 -0400 Subject: EvaluateExpression() returns std::string --- Source/cmGeneratorExpression.cxx | 4 ++-- Source/cmGeneratorExpression.h | 17 +++++++---------- 2 files changed, 9 insertions(+), 12 deletions(-) diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx index f26c717..b1b2b88 100644 --- a/Source/cmGeneratorExpression.cxx +++ b/Source/cmGeneratorExpression.cxx @@ -390,7 +390,7 @@ const char* cmGeneratorExpressionInterpreter::Evaluate( const char* expression, const std::string& property) { if (this->Target.empty()) { - return this->EvaluateExpression(expression); + return this->EvaluateExpression(expression).c_str(); } // Specify COMPILE_OPTIONS to DAGchecker, same semantic as COMPILE_FLAGS @@ -398,5 +398,5 @@ const char* cmGeneratorExpressionInterpreter::Evaluate( this->Target, property == "COMPILE_FLAGS" ? "COMPILE_OPTIONS" : property, nullptr, nullptr); - return this->EvaluateExpression(expression, &dagChecker); + return this->EvaluateExpression(expression, &dagChecker).c_str(); } diff --git a/Source/cmGeneratorExpression.h b/Source/cmGeneratorExpression.h index 2899317..1ceb7da 100644 --- a/Source/cmGeneratorExpression.h +++ b/Source/cmGeneratorExpression.h @@ -181,7 +181,7 @@ public: const char* Evaluate(const char* expression) { - return this->EvaluateExpression(expression); + return this->EvaluateExpression(expression).c_str(); } const char* Evaluate(const std::string& expression) { @@ -212,7 +212,7 @@ protected: const std::string& GetTargetName() const { return this->Target; } const std::string& GetLanguage() const { return this->Language; } - const char* EvaluateExpression( + const std::string& EvaluateExpression( const char* expression, cmGeneratorExpressionDAGChecker* dagChecker = nullptr) { @@ -220,16 +220,13 @@ protected: this->GeneratorExpression.Parse(expression); if (dagChecker == nullptr) { - return this->CompiledGeneratorExpression - ->Evaluate(this->LocalGenerator, this->Config, false, - this->GeneratorTarget) - .c_str(); + return this->CompiledGeneratorExpression->Evaluate( + this->LocalGenerator, this->Config, false, this->GeneratorTarget); } - return this->CompiledGeneratorExpression - ->Evaluate(this->LocalGenerator, this->Config, false, - this->GeneratorTarget, dagChecker, this->Language) - .c_str(); + return this->CompiledGeneratorExpression->Evaluate( + this->LocalGenerator, this->Config, false, this->GeneratorTarget, + dagChecker, this->Language); } private: -- cgit v0.12