Building multiple targets in Qt / Qmake
Question
How could I specify multiple targets with different configurations in Qt? Is there a way to do it in one .pro file?
For example, I would want to build the following 2 .pro files (without having to manually change the .pro file each time):
targetA:
QT += network
TEMPLATE = app
SOURCES += main.cpp \
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
RESOURCES += resource.qrc
TARGET = targetA
DEFINES += PARAMA
targetB:
QT += network
TEMPLATE = app
SOURCES += main.cpp \
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
RESOURCES += resource.qrc
TARGET = targetB
DEFINES += PARAMB
Solution
You can define multiple configuratiions for a .pro file:
QT += network
TEMPLATE = app
SOURCES += main.cpp \
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
RESOURCES += resource.qrc
configA {
TARGET = targetA
DEFINES += PARAMA
}
configB {
TARGET = targetB
DEFINES += PARAMB
}
You can use the CONFIG parameter while running qmake.
qmake x.pro CONFIG+=configA
OTHER TIPS
You can move the parts both files have in common to separate .pri file. Afterwards the common file can be referenced in the target files using the include-function: include(common.pri)
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow