I had problems with adding an extra compile step. It was easier to use an extra make target. What I came up with was a .pro file like the following: ### BEGIN setup for CxxTest test program TEMPLATE = app TARGET = test_runner cxxtest.target = test_runner.cpp cxxtest.commands = $$PWD/../../../third_party/cxxtest/cxxtestgen.pl \ --error-printer --have-eh --have-std --abort-on-fail \ -o test_runner.cpp $$PWD/unit_test.h cxxtest.depends = $$PWD/unit_test.h QMAKE_EXTRA_TARGETS += cxxtest HEADERS += unit_test*.h SOURCES += $$OUT_PWD/test_runner.cpp INCLUDEPATH += $$PWD/../../../third_party/cxxtest DEPENDPATH += $$PWD/../../../third_party/cxxtest ### END setup for CxxTest test program ### library dependencies, including for code under test, go here