[Interest] make check not working (macOS)
thiago.macieira at intel.com
Wed Jun 23 18:17:07 CEST 2021
On Wednesday, 23 June 2021 09:03:14 PDT Jason H wrote:
> So I have to manually maintain the modules being tested as a separate
> project? If so, that's pretty undesirable because of the manual effort to
> make sure that the test project is using the same source that the actual
> application uses. I hope I can automate that somehow? (Preferably requiring
> 0 maintenance) I would not be opposed to a "tests" subdir to hold this
> project, but then, that needs it's own .pro, and it needs to automatically
> reference the parent project's files. Immediately I am thinking I can just
> use HEADERS/SOURCES files with ../ prefixes but that violates my
> 0-maintenance requirement.
> I want a brain-dead, simple, 0-maintenance test kit. The only thing the
> developers should have to worry about is adding test implementations once
> it is started.
> Can this be achieved in Qt?
With Qt and QtTest, sure. But your question was "in qmake".
The answer is also yes. You need to move the common parts to a qmake project
include file (.pri) and simply include() it in each and every target, then add
to SOURCES the main executable for each program.
If build times are an issue, you may want to refactor so the common sources
are built into a uninstalled static library, which you link into each test.
However, using static libraries often bring headaches of their own, especially
when C++ global statics with side-effects are involved.
Thiago Macieira - thiago.macieira (AT) intel.com
Software Architect - Intel DPG Cloud Engineering
More information about the Interest