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: zlib.present
     name: "PkgConfigProviderExample"
     files: "main.c"
     qbsModuleProviders: ["qbspkgconfig"]
 }

Property Documentation

executableFilePath : string

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

Default: undefined


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


mergeDependencies : bool

Holds whether dependencies should be merged by pkg-config or Qbs.

If set to true, dependencies are merged by pkg-config meaning each generated module is self-contained and does not depend on other modules. If set to false, generated modules may depend on other modules and property merging is done by Qbs. The latter approach gives Qbs more information about dependencies, but may have performance implications during resolve phase, e.g. when using ABSEIL library.

Default: true


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 build module-providers.pkgconfig.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