How do I use qmake to build multiple binaries in a single project?

qmake, qt

Solution

One way of doing it is to have a .pro file per subdirectory.

appsuite.pro:

TEMPLATE = subdirs
SUBDIRS = common app1 app2 app3
app1.depends = common
app2.depends = common
app3.depends = common

app1/app1.pro:

TARGET = app1
SOURCES = main.cpp
INCLUDEPATH += ../common
LIBS += -L../common -lcommon

The common.pro file should build a static library you can then link into the binaries.

common/common.pro:

TEMPLATE = lib
CONFIG = staticlib
SOURCES = project.cpp more.cpp
HEADERS = project.h more.h

Problem

I'm writing a small qt app suite that consists of a set of small programs that work on the same set of files. They are organized like this: ``` / app1/ main.cpp app2/ main.cpp app3/ main.cpp common/ project.h project.cpp somemore.h somemore.cpp appsuite.pro ``` When I do `qmake && make`, I want the following binaries to be built: - app1/app1 - app2/app2 - app3/app3 How do I write `appsuite.pro` to work like this? I have heard something about `.pri` files, but I could not figure out how to use them in my "situation". Help appreciated, jrh

Original source