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.
This commit is contained in:
Stephen Kelly 2013-06-10 15:46:51 +02:00
parent 9ac601618e
commit 477e4136ef
1 changed files with 2 additions and 1 deletions

View File

@ -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);