1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
/****************************************************************************
**
** Copyright (C) 2021 Ivan Komissarov (abbapoh@gmail.com)
** 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$
**
****************************************************************************/
/*!
\qmltype qbspkgconfig
\inqmlmodule QbsModuleProviders
\since 1.20
\brief Module provider based on the qbspkg-config library.
\QBS uses a built-in parser of the \c{*.pc} files and does not require the presence of the
\c pkg-config tool in the system. However, if the \c pkg-config tool is present, \QBS will
use the same libDirs as the system pkg-config uses by default; otherwise, a built-in list of
paths is used.
In order to enable usage of this provider in your Product, set the
\l{Product::qbsModuleProviders}{qbsModuleProviders} property as shown in the example below:
\snippet ../examples/pkgconfig-provider/pkgconfig-provider.qbs 0
*/
/*!
\qmlproperty string qbspkgconfig::executableFilePath
The path to the \c {pkg-config} executable. If not set, the pkg-config from PATH is used.
\defaultvalue undefined
*/
/*!
\qmlproperty stringList qbspkgconfig::libDirs
Set this if you need to overwrite the default search directories.
\note You do not need to set this for cross-compilation in order to point
to the sysroot. \QBS does that for you.
This property is the equivalent of the \c{PKG_CONFIG_LIBDIR} variable
for the \c{pkg-config} tool.
\nodefaultvalue
*/
/*!
\qmlproperty stringList qbspkgconfig::extraPaths
Set this if you need to add extra search directories.
This property is the equivalent of the \c{PKG_CONFIG_PATH} variable
for the \c{pkg-config} tool.
\nodefaultvalue
*/
/*!
\qmlproperty bool qbspkgconfig::staticMode
If this property is \c true, then \QBS will include "private" libs and dependencies of the
package. This property is the equivalent of the
\c{--static} option for the \c{pkg-config} tool.
Set this if your product is to be linked statically.
\defaultvalue \c false
*/
/*!
\qmlproperty bool qbspkgconfig::definePrefix
If this property is \c true, then \QBS will override the ${prefix} variable in the packages
with a value that is guessed based on the location of the .pc file.
This option corresponds to the \c --define-prefix / \c --dont-define-prefix command line
options of the \c pkg-config tool.
\defaultvalue \c true on Windows, \c false otherwise
*/
/*!
\qmlproperty stringList qbspkgconfig::executableNames
The names of the \c pkg-config executable to search for.
Note that since newer distributions use \l{http://pkgconf.org}{pkgconf} by default, it has
higher priority over \c pkg-config.
\defaultvalue \c{["pkgconf", "pkg-config"]}
*/
/*!
\qmlproperty path qbspkgconfig::sysroot
Set this property if you need to overwrite the default search sysroot path used by
\c pkg-config.
This can be useful if \c pkg-config files are located in the directory other than qbs.sysroot.
This is the case on macOS platform - all XCode profiles are sysrooted to the SDK
directory, but \c pkg-config is typically intalled using Brew and resides in the
\c /usr/local directory.
Setting this property to \c undefined or empty (\c "") value will use pkg-config's default
search paths:
\code
qbs resolve moduleProviders.qbspkgconfig.sysroot:undefined
\endcode
This property is the equivalent of the \c{PKG_CONFIG_SYSROOT_DIR} variable for the
\c{pkg-config} tool.
\defaultvalue \c "" on macOS, \c qbs.sysroot on other platforms
*/
|