/****************************************************************************
**
** Copyright (C) 2016 The Qt Company Ltd.
** Contact: https://www.qt.io/licensing/
**
** This file is part of Qbs.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \contentspage index.html
    \page ib-module.html
    \ingroup list-of-modules

    \title Module ib
    \since 1.1
    \brief Provides support for Apple Interface Builder and related tools and file types.

    The \c ib module contains properties and rules for building Interface Builder documents,
    storyboards, asset catalogs, and icon sets.

    This module is only available on Apple platforms.

    \section1 General Properties

    \table
    \header
        \li Property
        \li Type
        \li Since
        \li Default
        \li Description
    \row
        \li warnings
        \li bool
        \li 1.1
        \li \c{true}
        \li Whether to print warnings when compiling. Does not apply to icon sets.
    \row
        \li errors
        \li bool
        \li 1.1
        \li \c{true}
        \li Whether to print warnings when compiling. Does not apply to icon sets.
    \row
        \li notices
        \li bool
        \li 1.1
        \li \c{true}
        \li Whether to print warnings when compiling. Does not apply to icon sets.
    \row
        \li flags
        \li stringList
        \li 1.1
        \li undefined
        \li Additional flags to pass to the underlying tool (ibtool, actool, iconutil).
    \endtable

    \section1 Properties Specific to NIBs and Storyboards

    \table
    \header
        \li Property
        \li Type
        \li Since
        \li Default
        \li Description
    \row
        \li ibtoolName
        \li string
        \li 1.3
        \li \c{"ibtool"}
        \li Name of the ibtool binary used to compile NIBs and storyboards.
            This should not normally need to be changed.
    \row
        \li ibtoolPath
        \li string
        \li 1.3
        \li \c{ibtoolName}
        \li Directory where the ibtool binary is located.
            This should not normally need to be changed.
    \row
        \li flatten
        \li bool
        \li 1.1
        \li \c{true}
        \li Compiles XIBs and storyboards into flattened (non-wrapper) files.
            Set to \c{false} to preserve editability of the resulting nib and storyboard
            bundles in Interface Builder. This property should not normally need to be changed.
    \row
        \li module
        \li string
        \li 1.3
        \li \c{undefined}
        \li Sets the name of the module that the nib or storyboard is a part of.
            Requires Xcode 6 or newer.
    \row
        \li autoActivateCustomFonts
        \li bool
        \li 1.3
        \li \c{true}
        \li Instructs the ibtool compiler to add custom fonts to the
            application's Info.plist when compiling XIBs and storyboards,
            which will cause the fonts to activate upon application launch.
            Requires Xcode 6 or newer.
    \endtable

    \section1 Properties Specific to Asset Catalogs

    \table
    \header
        \li Property
        \li Type
        \li Since
        \li Default
        \li Description
    \row
        \li actoolName
        \li string
        \li 1.3
        \li \c{"actool"}
        \li Name of the actool binary used to compile asset catalogs.
            This should not normally need to be changed.
    \row
        \li actoolPath
        \li string
        \li 1.3
        \li \c{actoolName}
        \li Directory where the actool binary is located.
            This should not normally need to be changed.
    \row
        \li appIconName
        \li string
        \li 1.3
        \li \c{undefined}
        \li Name of the resource in the asset catalog that will be used as the application's icon.
            Used to generate the partial Info.plist which will be merged into the resulting app.
            If this property is \c{undefined}, no application icon will be specified.
    \row
        \li launchImageName
        \li string
        \li 1.3
        \li \c{undefined}
        \li Name of the resource in the asset catalog that will be used as the application's launch
            image. Used to generate the partial Info.plist which will be merged into the resulting
            app. If this property is \c{undefined}, no launch image will be specified.
            Only applies to iOS applications.
    \row
        \li compressPngs
        \li bool
        \li 1.3
        \li \c{true}
        \li Whether to compress PNG image files when building asset catalogs.
    \endtable

    \section1 Properties Specific to Icon Sets

    \table
    \header
        \li Property
        \li Type
        \li Since
        \li Default
        \li Description
    \row
        \li iconutilName
        \li string
        \li 1.3
        \li \c{"iconutil"}
        \li Name of the iconutil binary used to compile icon sets.
            This should not normally need to be changed.
    \row
        \li iconutilPath
        \li string
        \li 1.3
        \li \c{iconutilName}
        \li Directory where the iconutil binary is located.
            This should not normally need to be changed.
    \endtable

    \section1 Relevant File Tags

    \table
    \header
        \li Tag
        \li Auto-tagged File Names
        \li Since
        \li Description
    \row
        \li \c{"assetcatalog"}
        \li \c{*.xcassets}
        \li 1.3
        \li This tag is attached to directories that will be compiled into compiled asset catalog
            archives (.car files) on supported platforms, or a collection of loose resource files.
            The resulting files will be automatically tagged \c{bundle.input}. If the current
            product is a bundle, the files will be included in the bundle's resources directory.
    \row
        \li \c{"iconset"}
        \li \c{*.iconset}
        \li 1.3
        \li This tag is attached to directories that will be compiled into Apple ICNS files.
            The resulting files will be automatically tagged \c{bundle.input}. If the current
            product is a bundle, the files will be included in the bundle's resources directory.
    \row
        \li \c{"nib"}
        \li \c{*.nib}, \c{*.xib}
        \li 1.1
        \li This tag is attached to "NIB" and "XIB" files that will be compiled.
            The output may be a flat file or a bundle (directory structure).
            The resulting files will be automatically tagged \c{bundle.input}. If the current
            product is a bundle, the files will be included in the bundle's resources directory.
    \row
        \li \c{"png"}
        \li \c{*.png}
        \li 1.9
        \li This tag is attached to PNG files that may be converted into multi-resolution TIFFs.
            Source files should adopt the \l{Adopt the @2x Naming Convention}{@2x naming convention}
            in order to be properly grouped.
            The resulting files will be given the \c{tiff} file tag.
    \row
        \li \c{"storyboard"}
        \li \c{*.storyboard}
        \li 1.3
        \li This tag is attached to storyboard files that will be compiled.
            The output may be a flat file or a bundle (directory structure).
            The resulting files will be automatically tagged \c{bundle.input}. If the current
            product is a bundle, the files will be included in the bundle's resources directory.
    \endtable
*/
