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(Qt5 COMPONENTS Widgets)
, when successful, makes the following variables available:
Variable | Description |
---|---|
Qt5Widgets_COMPILE_DEFINITIONS | A list of compile definitions to use when building against the library. |
Qt5Widgets_DEFINITIONS | A list of definitions to use when building against the library. |
Qt5Widgets_EXECUTABLE_COMPILE_FLAGS | A string of flags to use when building executables against the library. |
Qt5Widgets_FOUND | A boolean that describes whether the module was found successfully. |
Qt5Widgets_INCLUDE_DIRS | A list of include directories to use when building against the library. |
Qt5Widgets_LIBRARIES | The name of the imported target for the module: Qt5::Widgets |
Qt5Widgets_PRIVATE_INCLUDE_DIRS | A list of private include directories to use when building against the library and using private Qt API. |
Qt5Widgets_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 If not set, the first |
QT_LIBINFIX | A string that holds the infix used in library names, when Qt is configured with -libinfix . |
QT_NO_CREATE_VERSIONLESS_FUNCTIONS | Since Qt 5.15, modules define not only commands that start with qt5_ , but also ones with qt_ . You can set QT_NO_CREATE_VERSIONLESS_FUNCTIONS before find_package to prevent this. |
QT_NO_CREATE_VERSIONLESS_TARGETS | Since Qt 5.15, modules define not only targets that start with Qt5:: , but also ones with Qt:: . You can set QT_NO_CREATE_VERSIONLESS_TARGETS before find_package to prevent this. |
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. |