W3cubDocs

/Qt

CMake Variable Reference

Module variables

Qt modules loaded with find_package set various variables.

Note: You rarely need to access these variables directly. Common tasks like linking against a module should be done through the library targets each module defines.

For example, find_package(Qt6 COMPONENTS Widgets), when successful, makes the following variables available:

Variable Description
Qt6Widgets_COMPILE_DEFINITIONS A list of compile definitions to use when building against the library.
Qt6Widgets_DEFINITIONS A list of definitions to use when building against the library.
Qt6Widgets_EXECUTABLE_COMPILE_FLAGS A string of flags to use when building executables against the library.
Qt6Widgets_FOUND A boolean that describes whether the module was found successfully.
Qt6Widgets_INCLUDE_DIRS A list of include directories to use when building against the library.
Qt6Widgets_LIBRARIES The name of the imported target for the module: Qt5::Widgets
Qt6Widgets_PRIVATE_INCLUDE_DIRS A list of private include directories to use when building against the library and using private Qt API.
Qt6Widgets_VERSION_STRING A string containing the module's version.

For all packages found with find_package, equivalents of these variables are available; they are case-sensitive.

Installation variables

Additionally, there are also variables that don't relate to a particular package, but to the Qt installation itself.

Variable Description

QT_DEFAULT_MAJOR_VERSION

An integer that controls the Qt version that qt_ commands forward to in case of mixed Qt 5 and Qt 6 projects. It needs to be set to either 5 or 6 before the respective find_package() calls.

If set to 5, commands starting with qt_ will call their counterpart starting with qt5_. If set to 6, they will call their counterpart starting with qt6_.

If not set, the first find_package call defines the default version.

QT_LIBINFIX A string that holds the infix used in library names, when Qt is configured with -libinfix.

QT_NO_CREATE_VERSIONLESS_FUNCTIONS

Hides commands that start with qt_, leaving only the versioned ones starting with qt6_.

QT_NO_CREATE_VERSIONLESS_TARGETS

Hides the imported targets starting with Qt::. Instead, you need to use the targets starting with Qt6::.
QT_VISIBILITY_AVAILABLE On Unix, a boolean that describes whether Qt libraries and plugins were compiled with -fvisibility=hidden. This means that only selected symbols are exported.

Project variables

These variables can influence CMake commands provided by Qt. They may be set by the project, a toolchain file or other third-party packages.

Qt6::Core

ANDROID_NDK_HOST_SYSTEM_NAME

Android-specific architecture of the host system

ANDROID_SDK_ROOT

Location of the Android SDK

QT_ANDROID_APPLICATION_ARGUMENTS

List of arguments to pass to Android applications

QT_HOST_PATH

Location of the host Qt installation when cross-compiling

QT_NO_SET_XCODE_BUNDLE_IDENTIFIER

Disables providing a fallback app bundle ID during target finalization on iOS

QT_NO_SET_XCODE_DEVELOPMENT_TEAM_ID

Disables providing a fallback team ID during target finalization on iOS

Qt6::Qml

QT_QML_OUTPUT_DIRECTORY

Base output directory below which QML modules will be created by default

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/cmake-variable-reference.html