Building projects on the command line Qt 5 and Qt 6 compatibility
Each Qt module that is loaded defines a CMake library target. The target names start with Qt6::
, followed by the module name. For example: Qt6::Core
, Qt6::Gui
. Pass the name of the
library target to target_link_libraries
to use the respective library.
Note: The targets are also available with a Qt::
prefix: Qt::Core
, Qt::Gui
, and so on. See also Qt 5 and Qt 6
compatibility.
Imported targets are created with the same configurations as when Qt was configured. That is:
-debug
switch, an imported target with the DEBUG configuration is created.-release
switch, an imported target with the RELEASE configuration is created.-debug-and-release
switch, then imported targets are created with both RELEASE and DEBUG configurations.If your project has custom CMake
build configurations, you have to map your custom configuration to either the debug or the release Qt configuration.
find_package(Qt6 REQUIRED COMPONENTS Core) set(CMAKE_CXX_FLAGS_COVERAGE "${CMAKE_CXX_FLAGS_RELEASE} -fprofile-arcs -ftest-coverage") # set up a mapping so that the Release configuration for the Qt imported target is # used in the COVERAGE CMake configuration. set_target_properties(Qt6::Core PROPERTIES MAP_IMPORTED_CONFIG_COVERAGE "RELEASE")
Building projects on the command line Qt 5 and Qt 6 compatibility
As part of the free Business evaluation, we offer a free welcome call for companies, to talk about your requirements, and how the Felgo SDK & Services can help you. Just sign up and schedule your call.
Sign up now to start your free Business evaluation: