Help: Document SYSTEM treatment of IMPORTED target INTERFACE_INCLUDE_DIRS

Document how the behavior can be controlled.
This commit is contained in:
Stephen Kelly 2014-02-09 11:55:12 +01:00
parent d582809497
commit ef17e29389
1 changed files with 8 additions and 0 deletions

View File

@ -602,6 +602,14 @@ This is equivalent to appending ``${CMAKE_INSTALL_PREFIX}/include`` to the
:prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of each of the installed
:prop_tgt:`IMPORTED` targets when generated by :command:`install(EXPORT)`.
When the :prop_tgt:`INTERFACE_INCLUDE_DIRECTORIES` of an
:ref:`imported target <Imported targets>` is consumed, the entries in the
property are treated as ``SYSTEM`` include directories, as if they were
listed in the :prop_tgt:`INTERFACE_SYSTEM_INCLUDE_DIRECTORIES` of the
dependency. This can result in omission of compiler warnings for headers
found in those directories. This behavior for :ref:`imported targets` may
be controlled with the :prop_tgt:`NO_SYSTEM_FROM_IMPORTED` target property.
If a binary target is linked transitively to a Mac OX framework, the
``Headers`` directory of the framework is also treated as a usage requirement.
This has the same effect as passing the framework directory as an include