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();
|
this->CheckResult = this->checkGraph();
|
||||||
|
|
||||||
if (CheckResult == DAG && (top->Property == "INCLUDE_DIRECTORIES"
|
if (CheckResult == DAG && (top->EvaluatingIncludeDirectories()
|
||||||
|| top->Property == "COMPILE_DEFINITIONS") )
|
|| top->EvaluatingCompileDefinitions()))
|
||||||
{
|
{
|
||||||
std::map<cmStdString, std::set<cmStdString> >::const_iterator it
|
std::map<cmStdString, std::set<cmStdString> >::const_iterator it
|
||||||
= top->Seen.find(target);
|
= top->Seen.find(target);
|
||||||
|
@ -26,11 +26,11 @@ check(test_build_interface "build")
|
|||||||
check(test_install_interface "")
|
check(test_install_interface "")
|
||||||
check(test_target_name_1 "tgt,ok")
|
check(test_target_name_1 "tgt,ok")
|
||||||
check(test_target_name_2 "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_includes1 "/empty1/public;/empty2/public;/empty3/public;/empty4/public")
|
||||||
check(test_target_includes2 "/empty2/public;/empty3/public;/empty4/public;/empty4/public")
|
check(test_target_includes2 "/empty2/public;/empty3/public;/empty4/public")
|
||||||
check(test_target_includes3 "/empty3/public;/empty2/public;/empty4/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_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_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_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")
|
check(test_target_includes8 "/empty5/private1;/empty5/private2")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user