CMake Variable Reference
Qt build variables
When building Qt you can use CMake variables to control the build result.
Variable | Description |
---|---|
QT_HOST_PATH | Location of the host Qt installation from which host tools may be used during another Qt build, either a regular one or a cross-compiling one. |
QT_FORCE_BUILD_TOOLS | Forces building tools even if host tools have already been found. Useful when cross-compiling Qt to ensure the SDK has cross-built tools. |
QT_FORCE_FIND_TOOLS | Uses Qt tools from the pre-built Qt in QT_HOST_PATH when you do not cross-compile. The variable only takes effect if QT_FORCE_BUILD_TOOLS is set to ON . Otherwise QT_FORCE_FIND_TOOLS does not affect the default behavior. |
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: Qt6::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 | 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 | |
Forces or disables release package signing regardless of the build type | |
Enables the generation of QtQuickViewContent-based classes | |
Allows to share CMake variables in multi-ABI builds | |
Signs the .aab package with the specified keystore, alias, and store password | |
Signs 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 program executables on some target platforms | |
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 | |
Specifies the language of translatable strings | |
List of languages to be used for project internationalization | |
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 | |
Enables the use of per-target Android build directories |
Qt6::InterfaceFramework
Qt6::Multimedia
Disables FFmpeg code-signing on iOS |
Qt6::Qml
Enables autogeneration of .qmlls.ini files for QML Language Server | |
Disables compilation of QML files into bytecode or C++ code | |
Base output directory below which QML modules will be created by default |
Standard CMake Variables
CMAKE_AUTOGEN_BETTER_GRAPH_MULTI_CONFIG | Improves the dependency graph for multi-configuration generators |