CMP0052: Do not warn when include dir is not in source or build tree
When the policy was added by commit 783bce29
(Export: Disallow exported
interface includes in src/build tree, 2014-03-31) it accidentally left a
code path that would warn when the include dir is in the install tree
but *not* in the source or build tree. Fix that.
This commit is contained in:
parent
fd8bb34278
commit
9e0b3153fa
|
@ -277,6 +277,8 @@ static bool checkInterfaceDirs(const std::string &prepro,
|
|||
" \"" << *li << "\"";
|
||||
target->GetMakefile()->IssueMessage(messageType, e.str());
|
||||
}
|
||||
bool inBinary = isSubDirectory(li->c_str(), topBinaryDir);
|
||||
bool inSource = isSubDirectory(li->c_str(), topSourceDir);
|
||||
if (isSubDirectory(li->c_str(), installDir))
|
||||
{
|
||||
// The include directory is inside the install tree. If the
|
||||
|
@ -284,8 +286,8 @@ static bool checkInterfaceDirs(const std::string &prepro,
|
|||
// fall through to the checks below that the include directory is not
|
||||
// also inside the source tree or build tree.
|
||||
bool shouldContinue =
|
||||
isSubDirectory(installDir, topBinaryDir)
|
||||
|| isSubDirectory(installDir, topSourceDir);
|
||||
(!inBinary || isSubDirectory(installDir, topBinaryDir)) &&
|
||||
(!inSource || isSubDirectory(installDir, topSourceDir));
|
||||
|
||||
if (!shouldContinue)
|
||||
{
|
||||
|
@ -317,7 +319,7 @@ static bool checkInterfaceDirs(const std::string &prepro,
|
|||
continue;
|
||||
}
|
||||
}
|
||||
if (isSubDirectory(li->c_str(), topBinaryDir))
|
||||
if (inBinary)
|
||||
{
|
||||
e << "Target \"" << target->GetName() << "\" "
|
||||
"INTERFACE_INCLUDE_DIRECTORIES property contains path:\n"
|
||||
|
@ -326,7 +328,7 @@ static bool checkInterfaceDirs(const std::string &prepro,
|
|||
}
|
||||
if (!inSourceBuild)
|
||||
{
|
||||
if (isSubDirectory(li->c_str(), topSourceDir))
|
||||
if (inSource)
|
||||
{
|
||||
e << "Target \"" << target->GetName() << "\" "
|
||||
"INTERFACE_INCLUDE_DIRECTORIES property contains path:\n"
|
||||
|
|
Loading…
Reference in New Issue