Hi Petr,
I’m totally mystified at first because adding the following to one of the test cpp files worked:
class TestDummy
{
public:
VALUE_OBJECT (TestDummy)
};
class TestDummy2
{
REFERENCE_OBJECT (TestDummy2)
public:
};
class TestDummy3
{
STATIC_HELPER (TestDummy3)
public:
};
Then I though that because Doxygen parses the headers and source files individually, when it parses a header file it does not know how the macros in Qt.h are defined because Qt.h is not included. So I tried setting PREDEFINED instead:
PREDEFINED = "REFERENCE_OBJECT=Class (const Class &); \
Class & operator= (const Class &);"
and that did work!
Now the question is whether we should redefine each macro from Qt.h, or maybe define only REFERENCE_OBJECT, VALUE_OBJECT and STATIC_HELPER at first? It would become unpractical if we start adding more macros to the list. A more flexible solution would be extend Doxygen (and send the patch to the project maintainer) to support yet another config option like INCLUDES = Qt.h which would instruct the preprocessor to always parse Qt.h as well.
Regards,
Peter
