Makefile revision 6b15695578f07a3f72c4c9475c1a261a3021472a
947bd6c648bd29bc226971324de1b30230a56a22David Lawrence# Where to look for the tests
947bd6c648bd29bc226971324de1b30230a56a22David LawrenceTESTS = ..\gui\*.h ..\*.h
947bd6c648bd29bc226971324de1b30230a56a22David Lawrence
878363c06b3d42f8fa4acca0c4aec9252b7844d9David Lawrence# Where the CxxTest distribution is unpacked
878363c06b3d42f8fa4acca0c4aec9252b7844d9David LawrenceCXXTESTDIR = ..\..
cc5547dbcb04bdc498cf050c6104a1974f68c6eaAndreas Gustafsson
cc5547dbcb04bdc498cf050c6104a1974f68c6eaAndreas Gustafsson# Check CXXTESTDIR
b8957f3496b6a900df9ca263864a47dbb1cb8978David Lawrence!if !exist($(CXXTESTDIR)\cxxtestgen.pl)
b8957f3496b6a900df9ca263864a47dbb1cb8978David Lawrence!error Please fix CXXTESTDIR
c7f22f83aac9e61dafee191cad040e9c42652cc8David Lawrence!endif
c7f22f83aac9e61dafee191cad040e9c42652cc8David Lawrence
c7f22f83aac9e61dafee191cad040e9c42652cc8David Lawrence# cxxtestgen needs Perl or Python
c4717613e45323ed23dc6e9162cba89f1f83830cDavid Lawrence!if defined(PERL)
c4717613e45323ed23dc6e9162cba89f1f83830cDavid LawrenceCXXTESTGEN = $(PERL) $(CXXTESTDIR)/cxxtestgen.pl
c4717613e45323ed23dc6e9162cba89f1f83830cDavid Lawrence!elseif defined(PYTHON)
f6d6835ed5bb14f7d87cb9b736deadf9de2085ddAndreas GustafssonCXXTESTGEN = $(PYTHON) $(CXXTESTDIR)/cxxtestgen.py
f6d6835ed5bb14f7d87cb9b736deadf9de2085ddAndreas Gustafsson!else
f6d6835ed5bb14f7d87cb9b736deadf9de2085ddAndreas Gustafsson!error You must define PERL or PYTHON
d41c9885ecfb4be7382fd32a58ae4a9fb2056b81David Lawrence!endif
d41c9885ecfb4be7382fd32a58ae4a9fb2056b81David Lawrence
38feb01f1b0a3ac65897ae63c22c27c72e8cfda1David Lawrence# The arguments to pass to cxxtestgen
38feb01f1b0a3ac65897ae63c22c27c72e8cfda1David Lawrence# - ParenPrinter is the way MSVC likes its compilation errors
38feb01f1b0a3ac65897ae63c22c27c72e8cfda1David Lawrence# - --have-eh/--abort-on-fail are nice when you have them
38feb01f1b0a3ac65897ae63c22c27c72e8cfda1David LawrenceCXXTESTGEN_FLAGS = \
802aa6f2b70cc0b4e69ef0a1dcab0a8d68a0fdeaDavid Lawrence --gui=Win32Gui \
802aa6f2b70cc0b4e69ef0a1dcab0a8d68a0fdeaDavid Lawrence --runner=ParenPrinter \
802aa6f2b70cc0b4e69ef0a1dcab0a8d68a0fdeaDavid Lawrence --have-eh \
5b27fa26dd1288f61de9ace6f4ec56be63858048David Lawrence --abort-on-fail
5b27fa26dd1288f61de9ace6f4ec56be63858048David Lawrence
5b27fa26dd1288f61de9ace6f4ec56be63858048David Lawrence# How to generate the test runner, `runner.cpp'
5b27fa26dd1288f61de9ace6f4ec56be63858048David Lawrencerunner.cpp: $(TESTS)
5b27fa26dd1288f61de9ace6f4ec56be63858048David Lawrence $(CXXTESTGEN) $(CXXTESTGEN_FLAGS) -o $@ $(TESTS)
5b27fa26dd1288f61de9ace6f4ec56be63858048David Lawrence
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halley# How to run the tests, which should be in DIR\runner.exe
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halleyrun: $(DIR)\runner.exe
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halley $(DIR)\runner.exe
32d7adf5ee52c5a86122ee3d9e35a894fc5ed0a6Bob Halley