Merge topic 'fix-target_include_directories-genex'
24dcf0c Make sure generator expressions can be used with target_include_directories.
This commit is contained in:
commit
95f88fd2a1
@ -65,6 +65,14 @@ bool cmTargetPropCommandBase
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//----------------------------------------------------------------------------
|
||||||
|
static bool isGeneratorExpression(const std::string &lib)
|
||||||
|
{
|
||||||
|
const std::string::size_type openpos = lib.find("$<");
|
||||||
|
return (openpos != std::string::npos)
|
||||||
|
&& (lib.find(">", openpos) != std::string::npos);
|
||||||
|
}
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
bool cmTargetPropCommandBase
|
bool cmTargetPropCommandBase
|
||||||
::ProcessContentArgs(std::vector<std::string> const& args,
|
::ProcessContentArgs(std::vector<std::string> const& args,
|
||||||
@ -105,6 +113,10 @@ bool cmTargetPropCommandBase
|
|||||||
content += sep + "$<TARGET_PROPERTY:" + args[i]
|
content += sep + "$<TARGET_PROPERTY:" + args[i]
|
||||||
+ ",INTERFACE_" + this->Property + ">";
|
+ ",INTERFACE_" + this->Property + ">";
|
||||||
}
|
}
|
||||||
|
else if(isGeneratorExpression(args[i]))
|
||||||
|
{
|
||||||
|
content += sep + args[i];
|
||||||
|
}
|
||||||
else if (!this->HandleNonTargetArg(content, sep, args[i], args[0]))
|
else if (!this->HandleNonTargetArg(content, sep, args[i], args[0]))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
|
@ -33,7 +33,12 @@ target_include_directories(target_include_directories
|
|||||||
PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/poison"
|
PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/poison"
|
||||||
)
|
)
|
||||||
target_include_directories(target_include_directories
|
target_include_directories(target_include_directories
|
||||||
BEFORE PUBLIC "${CMAKE_CURRENT_BINARY_DIR}/cure"
|
BEFORE PUBLIC "$<$<TARGET_DEFINED:target_include_directories>:${CMAKE_CURRENT_BINARY_DIR}/cure>"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Has no effect because the target is not defined:
|
||||||
|
target_include_directories(target_include_directories
|
||||||
|
BEFORE PUBLIC "$<$<TARGET_DEFINED:notdefined>:${CMAKE_CURRENT_BINARY_DIR}/poison>"
|
||||||
)
|
)
|
||||||
|
|
||||||
add_library(importedlib UNKNOWN IMPORTED)
|
add_library(importedlib UNKNOWN IMPORTED)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user