Fix the tests for evaluating includes and defines.
We should also check whether the INTERFACE_ variant of a property is being read, and in the case of the compile definitions, we should test the _<CONFIG> suffixed variants. That is already available through the use of the methods. This way, we use the ALREADY_SEEN optimization when evaluating the includes of a target in 'external' generator expressions, ie, those used in a add_custom_command invokation, as opposed to evaluating the INCLUDE_DIRECTORIES of a target itself via GetIncludeDirectories.
This commit is contained in:
parent
98a672528d
commit
8dfdf1c734
|
@ -33,8 +33,8 @@ cmGeneratorExpressionDAGChecker::cmGeneratorExpressionDAGChecker(
|
|||
}
|
||||
this->CheckResult = this->checkGraph();
|
||||
|
||||
if (CheckResult == DAG && (top->Property == "INCLUDE_DIRECTORIES"
|
||||
|| top->Property == "COMPILE_DEFINITIONS") )
|
||||
if (CheckResult == DAG && (top->EvaluatingIncludeDirectories()
|
||||
|| top->EvaluatingCompileDefinitions()))
|
||||
{
|
||||
std::map<cmStdString, std::set<cmStdString> >::const_iterator it
|
||||
= top->Seen.find(target);
|
||||
|
|
|
@ -26,11 +26,11 @@ check(test_build_interface "build")
|
|||
check(test_install_interface "")
|
||||
check(test_target_name_1 "tgt,ok")
|
||||
check(test_target_name_2 "tgt:ok")
|
||||
check(test_target_includes1 "/empty1/public;/empty2/public;/empty3/public;/empty4/public;/empty4/public")
|
||||
check(test_target_includes2 "/empty2/public;/empty3/public;/empty4/public;/empty4/public")
|
||||
check(test_target_includes3 "/empty3/public;/empty2/public;/empty4/public;/empty4/public")
|
||||
check(test_target_includes1 "/empty1/public;/empty2/public;/empty3/public;/empty4/public")
|
||||
check(test_target_includes2 "/empty2/public;/empty3/public;/empty4/public")
|
||||
check(test_target_includes3 "/empty3/public;/empty2/public;/empty4/public")
|
||||
check(test_target_includes4 "/empty1/public;/empty1/private;/empty2/public;/empty3/public;/empty4/public")
|
||||
check(test_target_includes5 "/empty2/public;/empty3/public;/empty2/public;/empty4/public")
|
||||
check(test_target_includes6 "/empty3/public;/empty3/private;/empty2/public;/empty3/public;/empty4/public")
|
||||
check(test_target_includes7 "/empty1/public;/empty2/public;/empty3/public;/empty4/public;/empty4/public")
|
||||
check(test_target_includes7 "/empty1/public;/empty2/public;/empty3/public;/empty4/public")
|
||||
check(test_target_includes8 "/empty5/private1;/empty5/private2")
|
||||
|
|
Loading…
Reference in New Issue