Variables

The fundamental behavior of qmake is influenced by variable declarations that define the build process of each project. Some of these declare resources, such as headers and source files, that are common to each platform. Others are used to customize the behavior of compilers and linkers on specific platforms.

Platform-specific variables follow the naming pattern of the variables which they extend or modify, but include the name of the relevant platform in their name. For example, a makespec may use QMAKE_LIBS to specify a list of libraries that each project needs to link against, and QMAKE_LIBS_X11 would be used to extend this list.

ANDROID_ABIS

This variable applies only to Android targets.

Specifies a list of Android target ABIs. Valid values are: armeabi-v7a, arm64-v8a, x86, x86_64.

You can provide the ABIs as a qmake argument:

 
Sélectionnez
qmake ANDROID_ABIS="armeabi-v7a arm64-v8a"

It is possible to use this variable inside the *.pro file, however, it is not recommended since it will override any ABIs specified on the qmake command line.

ANDROID_API_VERSION

This variable applies only to Android targets.

Specifies the Android API level number. For more information, see Android Build Numbers.

ANDROID_APPLICATION_ARGUMENTS

This variable applies only to Android targets.

Specifies extra command-line arguments to the Android app using the AndroidManifest.xml with the tag "android.app.arguments". This takes a string of arguments:

 
Sélectionnez
ANDROID_APPLICATION_ARGUMENTS = "arg1 arg2 arg3"

ANDROID_BUNDLED_JAR_DEPENDENCIES

This variable applies only to Android modules.

This is useful when writing a Qt module. It specifies a list of pre-bundled dependencies used by the module in a .jar format, for example:

 
Sélectionnez
ANDROID_BUNDLED_JAR_DEPENDENCIES += jar/Qt6Android.jar

ANDROID_DEPLOYMENT_DEPENDENCIES