diff options
author | Stephen Kelly <steveire@gmail.com> | 2013-07-02 14:30:10 +0200 |
---|---|---|
committer | Brad King <brad.king@kitware.com> | 2013-07-16 13:44:57 -0400 |
commit | 9cf3547e1cd56d42bc96c3dc3adf9f745faea5ee (patch) | |
tree | ea220c1949611ac1977841ea77ff22bcac061497 /Source/cmTargetIncludeDirectoriesCommand.cxx | |
parent | 1925cffa083bcbe3c54b8a0f2c63dc96f5168db0 (diff) | |
download | cmake-9cf3547e1cd56d42bc96c3dc3adf9f745faea5ee.tar.gz |
Add the INTERFACE_SYSTEM_INCLUDE_DIRECTORIES target property.
Unlike other target properties, this does not have a corresponding
non-INTERFACE variant.
This allows propagation of system attribute on include directories
from link dependents.
Diffstat (limited to 'Source/cmTargetIncludeDirectoriesCommand.cxx')
-rw-r--r-- | Source/cmTargetIncludeDirectoriesCommand.cxx | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/Source/cmTargetIncludeDirectoriesCommand.cxx b/Source/cmTargetIncludeDirectoriesCommand.cxx index ee915212c2..e7b906c9e8 100644 --- a/Source/cmTargetIncludeDirectoriesCommand.cxx +++ b/Source/cmTargetIncludeDirectoriesCommand.cxx @@ -84,10 +84,21 @@ void cmTargetIncludeDirectoriesCommand const std::vector<std::string> &content, bool prepend, bool system) { + cmTargetPropCommandBase::HandleInterfaceContent(tgt, content, + prepend, system); + if (system) { - // Error. + std::string joined; + std::string sep; + for(std::vector<std::string>::const_iterator it = content.begin(); + it != content.end(); ++it) + { + joined += sep; + sep = ";"; + joined += *it; + } + tgt->AppendProperty("INTERFACE_SYSTEM_INCLUDE_DIRECTORIES", + joined.c_str()); } - cmTargetPropCommandBase::HandleInterfaceContent(tgt, content, - prepend, system); } |