Reputation: 5366
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
Upvotes: 21
Views: 18430
Reputation: 350
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
Upvotes: 38
Reputation: 126
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)
Upvotes: 6