diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2022-11-10 19:44:58 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2022-11-11 17:29:41 (GMT) |
commit | 4d70a94545629affd3d68dda74ec71c62a3bb0c4 (patch) | |
tree | 8895996ff70d1fd0b391b1fb076d27b7017c57da /Source/cmGeneratorExpression.cxx | |
parent | 09d7f947d68796e8fde923a47636f1c764b5a7af (diff) | |
download | CMake-4d70a94545629affd3d68dda74ec71c62a3bb0c4.zip CMake-4d70a94545629affd3d68dda74ec71c62a3bb0c4.tar.gz CMake-4d70a94545629affd3d68dda74ec71c62a3bb0c4.tar.bz2 |
Profiling: Profile genex evaluation
Diffstat (limited to 'Source/cmGeneratorExpression.cxx')
-rw-r--r-- | Source/cmGeneratorExpression.cxx | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Source/cmGeneratorExpression.cxx b/Source/cmGeneratorExpression.cxx index 8f0db47..21ace89 100644 --- a/Source/cmGeneratorExpression.cxx +++ b/Source/cmGeneratorExpression.cxx @@ -16,6 +16,7 @@ #include "cmLocalGenerator.h" #include "cmStringAlgorithms.h" #include "cmSystemTools.h" +#include "cmake.h" cmGeneratorExpression::cmGeneratorExpression(cmake& cmakeInstance, cmListFileBacktrace backtrace) @@ -43,6 +44,11 @@ std::string cmGeneratorExpression::Evaluate( cmGeneratorTarget const* currentTarget, std::string const& language) { if (Find(input) != std::string::npos) { +#ifndef CMAKE_BOOTSTRAP + auto profilingRAII = lg->GetCMakeInstance()->CreateProfilingEntry( + "genex_compile_eval", input); +#endif + cmCompiledGeneratorExpression cge(*lg->GetCMakeInstance(), cmListFileBacktrace(), std::move(input)); return cge.Evaluate(lg, config, headTarget, dagChecker, currentTarget, @@ -102,10 +108,15 @@ const std::string& cmCompiledGeneratorExpression::EvaluateWithContext( } cmCompiledGeneratorExpression::cmCompiledGeneratorExpression( - cmake& /*cmakeInstance*/, cmListFileBacktrace backtrace, std::string input) + cmake& cmakeInstance, cmListFileBacktrace backtrace, std::string input) : Backtrace(std::move(backtrace)) , Input(std::move(input)) { +#ifndef CMAKE_BOOTSTRAP + auto profilingRAII = + cmakeInstance.CreateProfilingEntry("genex_compile", this->Input); +#endif + cmGeneratorExpressionLexer l; std::vector<cmGeneratorExpressionToken> tokens = l.Tokenize(this->Input); this->NeedsEvaluation = l.GetSawGeneratorExpression(); |