summaryrefslogtreecommitdiffstats
path: root/mkspecs
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@trolltech.com>2009-04-15 09:19:56 (GMT)
committerOlivier Goffart <ogoffart@trolltech.com>2009-04-15 09:19:56 (GMT)
commit21099dac569348a15df2d6a5a61015b5afa17097 (patch)
treeb4ae338f206666b7f07e1f78278ad6d38609880b /mkspecs
parentf169ca1020886707b04101300e365d79f38a6332 (diff)
parent4e78de5a4281bd1c27a984b13887975798573aae (diff)
downloadQt-21099dac569348a15df2d6a5a61015b5afa17097.zip
Qt-21099dac569348a15df2d6a5a61015b5afa17097.tar.gz
Qt-21099dac569348a15df2d6a5a61015b5afa17097.tar.bz2
Merge commit 'origin/4.5'
Conflicts: src/gui/graphicsview/qgraphicsitem.cpp
Diffstat (limited to 'mkspecs')
-rw-r--r--mkspecs/features/moc.prf63
1 files changed, 40 insertions, 23 deletions
diff --git a/mkspecs/features/moc.prf b/mkspecs/features/moc.prf
index f18d462..7c4ff28 100644
--- a/mkspecs/features/moc.prf
+++ b/mkspecs/features/moc.prf
@@ -8,31 +8,46 @@ isEmpty(MOC_DIR):MOC_DIR = .
isEmpty(QMAKE_H_MOD_MOC):QMAKE_H_MOD_MOC = moc_
isEmpty(QMAKE_EXT_CPP_MOC):QMAKE_EXT_CPP_MOC = .moc
-# This function on Windows puts the includes into a .inc file which moc will read, if the project
-# has more than 30 includes. We do this to overcome a command-line limit on Win < XP
-# Otherwise the function simply returns the normal command-line for moc
-defineReplace(mocCmd) {
- win32:count($$list($$INCPATH), 40, >) {
- EOC = $$escape_expand(\n\t)
+# On Windows, put the includes into a .inc file which moc will read, if the project
+# has too many includes. We do this to overcome a command-line limit on Win < XP
+INCLUDETEMP=
+WIN_INCLUDETEMP=
+win32:count($$list($$INCPATH), 40, >) {
+ INCLUDETEMP = $$MOC_DIR/mocinclude.tmp
+
+ # Remove any existing mocinclude.tmp when qmake runs
+ WIN_INCLUDETEMP=$$INCLUDETEMP
+ WIN_INCLUDETEMP~=s,/,\,g
+ system($$QMAKE_DEL_FILE $$WIN_INCLUDETEMP > NUL 2>&1)
+
+ EOC = $$escape_expand(\n\t)
+
+ if(contains(TEMPLATE, "vc.*")|contains(TEMPLATE_PREFIX, "vc")) {
+ # the VCPROJ generator will replace the \r\h with the coded \r\n: &#x0d;&#x0a;
+ # No other generator understands the \h
+ if(win32-msvc.net|win32-msvc2*|wince*msvc*): EOC = $$escape_expand(\r\h)
+ else: EOC = $$escape_expand(\\)$$escape_expand(\n\t)
+ }
- if(contains(TEMPLATE, "vc.*")|contains(TEMPLATE_PREFIX, "vc")) {
- # the VCPROJ generator will replace the \r\h with the coded \r\n: &#x0d;&#x0a;
- # No other generator understands the \h
- if(win32-msvc.net|win32-msvc2*|wince*msvc*): EOC = $$escape_expand(\r\h)
- else: EOC = $$escape_expand(\\)$$escape_expand(\n\t)
- }
+ unset(INCFILELIST)
+ RET =
+ for(incfile, $$list($$INCPATH)) {
+ INCFILELIST = -I$$incfile
+ isEmpty(RET): RET += @echo $$INCFILELIST> $$WIN_INCLUDETEMP $$EOC
+ else: RET += @echo $$INCFILELIST>> $$WIN_INCLUDETEMP $$EOC
+ }
+ !isEmpty(INCFILELIST):RET += @echo $$INCFILELIST>> $$WIN_INCLUDETEMP $$EOC
- INCLUDETEMP = mocinclude.tmp
- unset(INCFILELIST)
- RET =
- for(incfile, $$list($$INCPATH)) {
- INCFILELIST = -I$$incfile
- isEmpty(RET): RET += @echo $$INCFILELIST> $$INCLUDETEMP $$EOC
- else: RET += @echo $$INCFILELIST>> $$INCLUDETEMP $$EOC
- }
- !isEmpty(INCFILELIST):RET += @echo $$INCFILELIST>> $$INCLUDETEMP $$EOC
- RET += $$QMAKE_MOC $(DEFINES) @$$INCLUDETEMP $$join(QMAKE_COMPILER_DEFINES, " -D", -D) $$1 -o $$2
- return($$RET)
+ build_pass|isEmpty(BUILDS) {
+ mocinclude.target = $$INCLUDETEMP
+ mocinclude.commands = $$RET
+ QMAKE_EXTRA_TARGETS += mocinclude
+ }
+}
+
+defineReplace(mocCmd) {
+ !isEmpty(WIN_INCLUDETEMP) {
+ return($$QMAKE_MOC $(DEFINES) @$$WIN_INCLUDETEMP $$join(QMAKE_COMPILER_DEFINES, " -D", -D) $$1 -o $$2)
}
return($$QMAKE_MOC $(DEFINES) $(INCPATH) $$join(QMAKE_COMPILER_DEFINES, " -D", -D) $$1 -o $$2)
}
@@ -45,6 +60,7 @@ moc_header.output = $$MOC_DIR/$${QMAKE_H_MOD_MOC}${QMAKE_FILE_BASE}$${first(QMAK
moc_header.input = HEADERS
moc_header.variable_out = SOURCES
moc_header.name = MOC ${QMAKE_FILE_IN}
+!isEmpty(INCLUDETEMP):moc_header.depends += $$INCLUDETEMP
silent:moc_header.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_header.commands
QMAKE_EXTRA_COMPILERS += moc_header
INCREDIBUILD_XGE += moc_header
@@ -56,6 +72,7 @@ moc_source.commands = ${QMAKE_FUNC_mocCmd}
moc_source.output = $$MOC_DIR/$${QMAKE_CPP_MOD_MOC}${QMAKE_FILE_BASE}$${QMAKE_EXT_CPP_MOC}
moc_source.input = SOURCES OBJECTIVE_SOURCES
moc_source.name = MOC ${QMAKE_FILE_IN}
+!isEmpty(INCLUDETEMP):moc_source.depends += $$INCLUDETEMP
silent:moc_source.commands = @echo moc ${QMAKE_FILE_IN} && $$moc_source.commands
QMAKE_EXTRA_COMPILERS += moc_source
INCREDIBUILD_XGE += moc_source
("Error: bib file %s not found!\n",bibFile.data()); } bibdata = citeDataList.next(); } diff --git a/src/classdef.cpp b/src/classdef.cpp index c69c300..f868037 100644 --- a/src/classdef.cpp +++ b/src/classdef.cpp @@ -2023,7 +2023,7 @@ void ClassDef::writeQuickMemberLinks(OutputList &ol,MemberDef *currentMd) const if (createSubDirs) ol.writeString("../../"); ol.writeString(md->getOutputFileBase()+Doxygen::htmlFileExtension+"#"+md->anchor()); ol.writeString("\">"); - ol.writeString(md->name()); + ol.writeString(convertToHtml(md->name())); ol.writeString(""); } ol.writeString("\n"); @@ -2080,7 +2080,7 @@ void ClassDef::writeMemberList(OutputList &ol) { if (getOuterScope()!=Doxygen::globalScope) { - writeNavigationPath(ol); + writeNavigationPath(ol,FALSE); } ol.endQuickIndices(); } @@ -3209,26 +3209,18 @@ QCString ClassDef::getOutputFileBase() const // point to simple struct inside a group return partOfGroups()->at(0)->getOutputFileBase(); } - else if (inlineSimpleClasses && m_impl->isSimple && (scope=getOuterScope()) && - ( - (scope==Doxygen::globalScope && getFileDef() && getFileDef()->isLinkableInProject()) || - scope->isLinkableInProject() - ) - ) + else if (inlineSimpleClasses && m_impl->isSimple && (scope=getOuterScope())) { - if (scope==Doxygen::globalScope) // simple struct embedded in file + if (scope==Doxygen::globalScope && getFileDef() && getFileDef()->isLinkableInProject()) // simple struct embedded in file { return getFileDef()->getOutputFileBase(); } - else // simple struct embedded in other container (namespace/group/class) + else if (scope->isLinkableInProject()) // simple struct embedded in other container (namespace/group/class) { return getOuterScope()->getOutputFileBase(); } } - else - { - return getXmlOutputFileBase(); - } + return getXmlOutputFileBase(); } QCString ClassDef::getInstanceOutputFileBase() const @@ -3754,7 +3746,7 @@ bool ClassDef::isLocal() const return m_impl->isLocal; } -ClassSDict *ClassDef::getInnerClasses() +ClassSDict *ClassDef::getClassSDict() { return m_impl->innerClasses; } diff --git a/src/classdef.h b/src/classdef.h index 9673ec9..f2d5b3a 100644 --- a/src/classdef.h +++ b/src/classdef.h @@ -113,7 +113,7 @@ class ClassDef : public Definition bool isLocal() const; /*! returns the classes nested into this class */ - ClassSDict *getInnerClasses(); + ClassSDict *getClassSDict(); /*! returns TRUE if this class has documentation */ bool hasDocumentation() const; diff --git a/src/config.xml b/src/config.xml index f9bd11c..8f4d36d 100644 --- a/src/config.xml +++ b/src/config.xml @@ -1004,9 +1004,11 @@ the directory name containing the HTML and XML files should also have this name. ' defval='org.doxygen.Project' depends='GENERATE_ECLIPSEHELP'/>