diff options
author | Stephen Kelly <steveire@gmail.com> | 2013-06-10 13:46:51 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2013-06-10 13:46:51 (GMT) |
commit | 477e4136ef525e16e9d91174bf3bfebf8b0d2650 (patch) | |
tree | 941962dad0f5642c6b3b2d162efb1b3542a27203 /Source/cmGeneratorExpressionDAGChecker.cxx | |
parent | 9ac601618ef93ac4c5c6805fe3bb7d19a56bf5a6 (diff) | |
download | CMake-477e4136ef525e16e9d91174bf3bfebf8b0d2650.zip CMake-477e4136ef525e16e9d91174bf3bfebf8b0d2650.tar.gz CMake-477e4136ef525e16e9d91174bf3bfebf8b0d2650.tar.bz2 |
Add missing 'seen' check for evaluating COMPILE_OPTIONS.
Commit 089fe1c1 (Optimize genex evaluation for includes and
defines., 2013-02-01) introduced an optimization on DAG processing
to not reprocess properties on targets which have already been seen.
This was refactored slightly in commit 8dfdf1c7 (Fix the tests for
evaluating includes and defines., 2013-02-18), but was not extended
to cover COMPILE_OPTIONS in commit 80ca9c4b (Add COMPILE_OPTIONS target
property., 2013-05-16).
This omission causes the same performance regression in running
cmake on LLVM which 089fe1c1 fixed before, but this time for the
transitive evaluation of the COMPILE_OPTIONS property.
Diffstat (limited to 'Source/cmGeneratorExpressionDAGChecker.cxx')
-rw-r--r-- | Source/cmGeneratorExpressionDAGChecker.cxx | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Source/cmGeneratorExpressionDAGChecker.cxx b/Source/cmGeneratorExpressionDAGChecker.cxx index e5ffb0c..6c6a7d4 100644 --- a/Source/cmGeneratorExpressionDAGChecker.cxx +++ b/Source/cmGeneratorExpressionDAGChecker.cxx @@ -34,7 +34,8 @@ cmGeneratorExpressionDAGChecker::cmGeneratorExpressionDAGChecker( this->CheckResult = this->checkGraph(); if (CheckResult == DAG && (top->EvaluatingIncludeDirectories() - || top->EvaluatingCompileDefinitions())) + || top->EvaluatingCompileDefinitions() + || top->EvaluatingCompileOptions())) { std::map<cmStdString, std::set<cmStdString> >::const_iterator it = top->Seen.find(target); |