qbspkgconfig

Module provider based on the qbspkg-config library. More...

Since: Qt 1.20

Properties

Detailed Description

Qbs uses a built-in parser of the *.pc files and does not require the presence of the pkg-config tool in the system. However, if the 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 qbsModuleProviders property as shown in the example below:

 CppApplication {
     consoleApplication: true
     Depends { name: "zlib"; required: false }
     condition: !qbs.toolchain.includes("emscripten") && zlib.present
     name: "PkgConfigProviderExample"
     files: "main.c"
     qbsModuleProviders: ["qbspkgconfig"]
 }

Property Documentation

definePrefix : bool

If this property is 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 --define-prefix / --dont-define-prefix command line options of the pkg-config tool.

Default: true on Windows, false otherwise


executableFilePath : string

The path to the pkg-config executable. If not set, the pkg-config from PATH is used.

Default: undefined


executableNames : stringList

The names of the pkg-config executable to search for.

Note that since newer distributions use pkgconf by default, it has higher priority over pkg-config.

Default: ["pkgconf", "pkg-config"]


extraPaths : stringList

Set this if you need to add extra search directories.

This property is the equivalent of the PKG_CONFIG_PATH variable for the pkg-config tool.

Default: Undefined


libDirs : stringList

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 PKG_CONFIG_LIBDIR variable for the pkg-config tool.

Default: Undefined


staticMode : bool

If this property is true, then Qbs will include "private" libs and dependencies of the package. This property is the equivalent of the --static option for the pkg-config tool.

Set this if your product is to be linked statically.

Default: false


sysroot : path

Set this property if you need to overwrite the default search sysroot path used by pkg-config.

This can be useful if 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 pkg-config is typically intalled using Brew and resides in the /usr/local directory.

Setting this property to undefined or empty ("") value will use pkg-config's default search paths:

 qbs resolve moduleProviders.qbspkgconfig.sysroot:undefined

This property is the equivalent of the PKG_CONFIG_SYSROOT_DIR variable for the pkg-config tool.

Default: "" on macOS, qbs.sysroot on other platforms