QMake

Warning

This is a deprecated feature. Please refer to the Migration Guidelines to find the feature that replaced this one.

The qmake generator will generate a conanbuildinfo.pri file that can be used for your qmake builds.

$ conan install . -g qmake

Add conan_basic_setup to CONFIG and include the file in your existing project .pro file:

yourproject.pro
 ...

 CONFIG += conan_basic_setup
 include(conanbuildinfo.pri)

This will include all the statements in conanbuildinfo.pri in your project. Include paths, libraries, defines, etc. will be set up for all requirements you have defined as dependencies in a conanfile.txt.

If you’d prefer to manually add the variables for each dependency, you can do so by skipping the CONFIG statement and only including conanbuildinfo.pri:

yourproject.pro
 # ...

 include(conanbuildinfo.pri)

 # you may now modify your variables manually for each library, such as
 # INCLUDEPATH += CONAN_INCLUDEPATH_POCO

The qmake generator allows multi-configuration packages, i.e. packages that contains both Debug and Release artifacts.

Example

Tip

This complete example is stored in https://github.com/memsharded/qmake_example

This example project will depend on a multi-configuration (Debug/Release) “Hello World” package. It should be installed first:

$ git clone https://github.com/memsharded/hello_multi_config
$ cd hello_multi_config
$ conan create . memsharded/testing
hello/0.1@memsharded/testing export: Copied 1 '.txt' file: CMakeLists.txt
hello/0.1@memsharded/testing export: Copied 1 '.cpp' file: hello.cpp
hello/0.1@memsharded/testing export: Copied 1 '.h' file: hello.h
hello/0.1@memsharded/testing: A new conanfile.py version was exported

This hello package is created with CMake, but that doesn’t matter for this example, as it can be consumed from a qmake project with the configuration showed before.

Now let’s get the qmake project and install its hello/0.1@memsharded/testing dependency:

$ git clone https://github.com/memsharded/qmake_example
$ cd qmake_example
$ conan install .
PROJECT: Installing C:\Users\memsharded\qmake_example\conanfile.txt
Requirements
    hello/0.1@memsharded/testing from local cache - Cache
Packages
    hello/0.1@memsharded/testing:15af85373a5688417675aa1e5065700263bf257e - Cache

hello/0.1@memsharded/testing: Already installed!
PROJECT: Generator qmake created conanbuildinfo.pri
PROJECT: Generator txt created conanbuildinfo.txt
PROJECT: Generated conaninfo.txt

As you can see, we got the dependency information in the conanbuildinfo.pri file. You can inspect the file to see the variables generated. Now let’s build the project for Release and then for Debug:

$ qmake
$ make
$ ./helloworld
> Hello World Release!

# now let's build the Debug one
$ make clean
$ qmake CONFIG+=debug
$ make
$ ./helloworld
> Hello World Debug!

See also

Check the complete reference of the qmake generator.