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 |
---|---|
| 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 If not set, the first |
QT_LIBINFIX | A string that holds the infix used in library names, when Qt is configured with -libinfix . |
| Hides commands that start with qt_ , leaving only the versioned ones starting with qt6_ . |
| 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-specific architecture of the host system | |
Location of the Android SDK | |
List of ABIs that the project packages are built for | |
List of arguments to pass to Android applications | |
Enables building multi-ABI packages using the autodetected Qt for Android SDK list | |
Allows to share CMake variables in multi-ABI builds | |
Sign the .aab package with the specified keystore, alias and store password | |
Sign the package with the specified keystore, alias and store password | |
Prefix-relative subdirectory for deploying runtime binaries on some target platforms | |
Directories that are excluded from runtime dependencies search | |
Prefix-relative subdirectory for deploying libraries on some target platforms | |
Prefix-relative subdirectory for deploying Qt plugins on some target platforms | |
Base location for a deployment | |
Prefix-relative subdirectory for deploying QML plugins on some target platforms | |
Name of the file to include for setting up deployment support | |
Prefix-relative subdirectory for deploying Qt translations on some target platforms | |
Enables verbose mode of deployment tools | |
Location of the host Qt installation when cross-compiling | |
Path to iOS launch screen storyboard used by all targets | |
Prevents collecting of project-built shared library targets during Android deployment | |
Prevents collecting of imported targets during Android deployment | |
Disables providing a fallback app bundle ID during target finalization on iOS | |
Disables providing a fallback team ID during target finalization on iOS | |
Prevents subsequent calls to qt_standard_project_setup() from making any changes | |
Set of variables to specify the path to Qt for Android for the corresponding ABI |
Qt6::Qml
Base output directory below which QML modules will be created by default |