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
Enable verbose logging for all ifcodegen functions | |
Search path for ifcodegen templates |
Qt6::Multimedia
Disables FFmpeg code-signing on iOS |
Qt6::Qml
Enables autogeneration of .qmlls.ini files for QML Language Server | |
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 |
© 2024 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.