diff options
author | Stephen Kelly <steveire@gmail.com> | 2013-01-20 13:04:13 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2013-07-02 14:40:03 (GMT) |
commit | 1925cffa083bcbe3c54b8a0f2c63dc96f5168db0 (patch) | |
tree | 98415042edafb89d47f002719ed0fed0dad9c679 /Source/cmTargetIncludeDirectoriesCommand.cxx | |
parent | 286f22770907fad3453eadf34e641ad736237292 (diff) | |
download | CMake-1925cffa083bcbe3c54b8a0f2c63dc96f5168db0.zip CMake-1925cffa083bcbe3c54b8a0f2c63dc96f5168db0.tar.gz CMake-1925cffa083bcbe3c54b8a0f2c63dc96f5168db0.tar.bz2 |
Add a SYSTEM parameter to target_include_directories (#14180)
This is similar to the include_directories(SYSTEM) signature
in that it allows telling the compiler to ignore warnings from
such headers.
Diffstat (limited to 'Source/cmTargetIncludeDirectoriesCommand.cxx')
-rw-r--r-- | Source/cmTargetIncludeDirectoriesCommand.cxx | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/Source/cmTargetIncludeDirectoriesCommand.cxx b/Source/cmTargetIncludeDirectoriesCommand.cxx index 12d0a51..ee91521 100644 --- a/Source/cmTargetIncludeDirectoriesCommand.cxx +++ b/Source/cmTargetIncludeDirectoriesCommand.cxx @@ -15,7 +15,8 @@ bool cmTargetIncludeDirectoriesCommand ::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &) { - return this->HandleArguments(args, "INCLUDE_DIRECTORIES", PROCESS_BEFORE); + return this->HandleArguments(args, "INCLUDE_DIRECTORIES", + ArgumentFlags(PROCESS_BEFORE | PROCESS_SYSTEM)); } //---------------------------------------------------------------------------- @@ -65,10 +66,28 @@ std::string cmTargetIncludeDirectoriesCommand //---------------------------------------------------------------------------- void cmTargetIncludeDirectoriesCommand ::HandleDirectContent(cmTarget *tgt, const std::vector<std::string> &content, - bool prepend) + bool prepend, bool system) { cmListFileBacktrace lfbt; this->Makefile->GetBacktrace(lfbt); cmValueWithOrigin entry(this->Join(content), lfbt); tgt->InsertInclude(entry, prepend); + if (system) + { + tgt->AddSystemIncludeDirectories(content); + } +} + +//---------------------------------------------------------------------------- +void cmTargetIncludeDirectoriesCommand +::HandleInterfaceContent(cmTarget *tgt, + const std::vector<std::string> &content, + bool prepend, bool system) +{ + if (system) + { + // Error. + } + cmTargetPropCommandBase::HandleInterfaceContent(tgt, content, + prepend, system); } |