include_guard(GLOBAL)

foreach (LANG IN ITEMS CXX C)
  define_property(${LANG}_IWYU_HOW_TO_DEBUG SCOPE TARGET)
  define_property(${LANG}_IWYU_MAPPING_FILE SCOPE TARGET)
  define_property(${LANG}_IWYU_CHECK_ALSO SCOPE TARGET)
  define_property(${LANG}_IWYU_CWD SCOPE TARGET)
  define_property(${LANG}_IWYU_NO_DEFAUT_MAPPINGS SCOPE TARGET)
  define_property(${LANG}_IWYU_PCH_IN_CODE SCOPE TARGET)
  define_property(${LANG}_IWYU_PREFIX_HEADER_INCLUDES SCOPE TARGET)
  define_property(${LANG}_IWYU_TRANSITIVE_INCLUDES_ONLY SCOPE TARGET)
  define_property(${LANG}_IWYU_MAX_LINE_LENGTH SCOPE TARGET)
  define_property(${LANG}_IWYU_NO_COMMENTS SCOPE TARGET)
  define_property(${LANG}_IWYU_NO_FWD_DECLS SCOPE TARGET)
  define_property(${LANG}_IWYU_VERBOSE SCOPE TARGET)
  define_property(${LANG}_IWYU_QUOTED_INCLUDES_FIRST SCOPE TARGET)
  #  set_property(GLOBAL APPEND
  #    PROPERTY IXM_TARGET_PROPERTIES
  #      ${LANG}_IWYU_HOW_TO_DEBUG
  #      ${LANG}_IWYU_MAPPING_FILE
  #      ${LANG}_IWYU_CHECK_ALSO
  #      ${LANG}_IWYU_CWD
  #      ${LANG}_IWYU_NO_DEFAULT_MAPPINGS
  #      ${LANG}_IWYU_PCH_IN_CODE
  #      ${LANG}_IWYU_PREFIX_HEADER_INCLUDES
  #      ${LANG}_IWYU_TRANSITIVE_INCLUDES_ONLY
  #      ${LANG}_IWYU_MAX_LINE_LENGTH
  #      ${LANG}_IWYU_NO_COMMENTS
  #      ${LANG}_IWYU_NO_FWD_DECLS
  #      ${LANG}_IWYU_VERBOSE
  #      ${LANG}_IWYU_QUOTED_INCLUDES_FIRST)
endforeach()
