diff options
-rw-r--r-- | doc/qbs.qdoc | 1 | ||||
-rw-r--r-- | doc/reference/items/language/probe.qdoc | 3 | ||||
-rw-r--r-- | doc/reference/items/probe/pathprobe.qdoc | 163 | ||||
-rw-r--r-- | doc/reference/reference.qdoc | 16 |
4 files changed, 179 insertions, 4 deletions
diff --git a/doc/qbs.qdoc b/doc/qbs.qdoc index c73b3f148..10191d78a 100644 --- a/doc/qbs.qdoc +++ b/doc/qbs.qdoc @@ -76,6 +76,7 @@ \list \li \l{List of Language Items} \li \l{List of Convenience Items} + \li \l{List of Probes} \endlist \li \l{List of Built-in Services} \li \l{Command-Line Interface} diff --git a/doc/reference/items/language/probe.qdoc b/doc/reference/items/language/probe.qdoc index 7151abf3b..4ebfae319 100644 --- a/doc/reference/items/language/probe.qdoc +++ b/doc/reference/items/language/probe.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2018 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qbs. @@ -31,6 +31,7 @@ \qmltype Probe \inqmlmodule QbsLanguageItems \ingroup list-of-items + \ingroup list-of-probes \keyword QML.Probe \brief Locates files outside the project. diff --git a/doc/reference/items/probe/pathprobe.qdoc b/doc/reference/items/probe/pathprobe.qdoc new file mode 100644 index 000000000..298ce9d95 --- /dev/null +++ b/doc/reference/items/probe/pathprobe.qdoc @@ -0,0 +1,163 @@ +/**************************************************************************** +** +** Copyright (C) 2018 Ivan Komissarov +** 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 list-of-probes.html + \qmltype PathProbe + \ingroup list-of-probes + \ingroup list-of-items + \keyword QML.PathProbe + + \brief Locates files outside the project. + + Finds files that have the specified file name suffix, such as \e .exe, from the specified + locations. + + PathProbe takes as input lists of paths to search files from and file name patterns. The paths + are specified by using the searchPaths, platformSearchPaths, environmentPaths, and + platformEnvironmentPaths properties. The file name patterns are specified by the \l names and + nameSuffixes properties. Returns the first file that matches the file name patterns. If no such + file is found, the \l {Probe::found}{probe.found} property is set to \c false. + + For example, a simple PathProbe that searches for the stdio.h header can be used as follows: + + \code + Product { + Depends { name: "cpp" } + PathProbe { + id: probe + pathSuffixes: ["include"] + names: ["stdio.h"] + } + cpp.includePaths: probe.found ? [probe.path] : [] + } + \endcode +*/ + +/*! + \qmlproperty stringList PathProbe::names + + The list of file names to search for. + + \nodefaultvalue +*/ + +/*! + \qmlproperty stringList PathProbe::nameSuffixes + + The list of file suffixes to search for. These suffixes are appended to every file name passed + via the \l names property. If \l names is empty, the probe looks for any file that ends with the + given suffix. + + \nodefaultvalue +*/ + +/*! + \qmlproperty script PathProbe::nameFilter + + A script that is executed for each file name before prepending file suffixes. Can be used to + transform file names. +*/ + +/*! + \qmlproperty pathList PathProbe::searchPaths + + The list of paths where to search files. + + \nodefaultvalue +*/ + +/*! + \qmlproperty pathList PathProbe::platformSearchPaths + + The list of platform paths where to search files. + + \defaultvalue \c {['/usr', '/usr/local']} on Unix hosts, empty otherwise +*/ + +/*! + \qmlproperty stringList PathProbe::pathSuffixes + + A list of relative paths that are appended to each path where PathProbe searches for files. + That is, the file should be located within one of the subfolders passed using this + property. + + \nodefaultvalue +*/ + +/*! + \qmlproperty stringList PathProbe::environmentPaths + + The list of environment variables that contains paths where to search files. Paths in the + environment variable should be separated using + \l{qbs::pathListSeparator}{qbs.pathListSeparator}. + + \nodefaultvalue +*/ + +/*! + \qmlproperty stringList PathProbe::platformEnvironmentPaths + + The list of platform environment variables that contains paths where to search files. Paths in + the environment variable should be separated using + \l{qbs::pathListSeparator}{qbs.pathListSeparator}. + + \nodefaultvalue +*/ + +/*! + \qmlproperty stringList PathProbe::candidatePaths + + This property contains the result list of all paths that were checked before a file was found + (including the file names). + + \nodefaultvalue +*/ + +/*! + \qmlproperty string PathProbe::path + + This property contains the full path where the found file is located + (that is, the file directory). + + \nodefaultvalue +*/ + +/*! + \qmlproperty string PathProbe::filePath + + This property contains the full path to the found file, including the file name. + + \nodefaultvalue +*/ + +/*! + \qmlproperty string PathProbe::fileName + + This property contains the found file's name (excluding the path). + + \nodefaultvalue +*/ diff --git a/doc/reference/reference.qdoc b/doc/reference/reference.qdoc index b5fe87962..6444332bd 100644 --- a/doc/reference/reference.qdoc +++ b/doc/reference/reference.qdoc @@ -1,6 +1,6 @@ /**************************************************************************** ** -** Copyright (C) 2017 The Qt Company Ltd. +** Copyright (C) 2018 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of Qbs. @@ -37,6 +37,7 @@ \list \li \l{List of Language Items} \li \l{List of Convenience Items} + \li \l{List of Probes} \endlist \li \l{List of Built-in Services} \li \l{Command-Line Interface} @@ -81,8 +82,9 @@ \group list-of-items \title List of All Items - \QBS provides the following \l{List of Language Items}{built-in} and - \l{List of Convenience Items}{convenience} items to define projects. + \QBS provides the following \l{List of Language Items}{built-in}, + \l{List of Convenience Items}{convenience}, and \l{List of Probes}{probe} + items to define projects. */ /*! @@ -101,3 +103,11 @@ \QBS provides the following QML items for convenience. */ + +/*! + \contentspage reference.html + \group list-of-probes + \title List of Probes + + \QBS provides the following probes. +*/ |