diff options
author | Ivan Komissarov <ABBAPOH@gmail.com> | 2018-11-28 19:49:20 +0100 |
---|---|---|
committer | Ivan Komissarov <ABBAPOH@gmail.com> | 2019-02-11 18:51:36 +0000 |
commit | 4fbf66673c7210df5ea5475245c42868b38fa97b (patch) | |
tree | 070723212afa2691d797e824d54a19bef208c88b | |
parent | 6cc92f061c86f06436a0546c6c41c123a51f3738 (diff) |
Doc: Add information about BinaryProbe
Task-number: QBS-1187
Change-Id: I6a97d9f7f70462996a352f7acef8e69f690a37bf
Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r-- | doc/reference/items/probe/binary-probe.qdoc | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/doc/reference/items/probe/binary-probe.qdoc b/doc/reference/items/probe/binary-probe.qdoc new file mode 100644 index 000000000..930043829 --- /dev/null +++ b/doc/reference/items/probe/binary-probe.qdoc @@ -0,0 +1,85 @@ +/**************************************************************************** +** +** Copyright (C) 2019 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 BinaryProbe + \ingroup list-of-probes + \ingroup list-of-items + \keyword QML.BinaryProbe + \inherits PathProbe + + \brief Locates executable files outside the project. + + Finds executable files that have the specified file names. + + BinaryProbe searches for executable files within directories specified by the PATH environment + variable. + + \note On Unix, also searches in the \c /usr/bin and \c /usr/local/bin directories by default. + Override \l {PathProbe::platformSearchPaths}{PathProbe.platformSearchPaths} to change this + behavior. + + \note On Windows, only files that have \e .com, \e .exe, \e .bat, \e .cmd extensions are + considered \e executables. Override \l {PathProbe::nameSuffixes}{PathProbe.nameSuffixes} to + change this behavior. + + For example, BinaryProbe can be used to search for a protobuf compiler executable as follows: + + \code + import qbs.File + import qbs.Probes + + Module { + // search for a protoc executable + Probes.BinaryProbe { + id: protocProbe + names: "protoc" + } + property string executableFilePath: protocProbe.filePath + + validate: { + if (!File.exists(executableFilePath)) + throw "The executable '" + executableFilePath + "' does not exist."; + } + + // use the found executable + Rule { + // rule input/outputs here... + + // run executable + prepare: { + var args = // initialize arguments... + var cmd = new Command(executableFilePath, args); + cmd.highlight = "codegen"; + cmd.description = "generating protobuf files for " + input.fileName; + return [cmd]; + } + } + } + \endcode +*/ |