diff options
author | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2010-02-26 15:13:54 (GMT) |
---|---|---|
committer | Miikka Heikkinen <miikka.heikkinen@digia.com> | 2010-03-01 09:07:17 (GMT) |
commit | 3d50a8049b20e01b8a2cb9b954b14302dc6144c6 (patch) | |
tree | 80f65aef23c0aa17055fbe86ef1d174bb3f02e34 /qmake | |
parent | 8113f2d94afd4e25caf12edf9716b7e0a82de1a8 (diff) | |
download | Qt-3d50a8049b20e01b8a2cb9b954b14302dc6144c6.zip Qt-3d50a8049b20e01b8a2cb9b954b14302dc6144c6.tar.gz Qt-3d50a8049b20e01b8a2cb9b954b14302dc6144c6.tar.bz2 |
Added .condition modifier to SUBDIRS.
In Symbian, it is now possible to set certain subdirs to be built
only when specified define is true when bld.inf is parsed.
For example, compile a subdir only when building for emulator:
SUBDIRS += winscw_lib
winscw_lib.condition = WINSCW
Also improved SUBDIRS variable documentation; the modifiers were
completely undocumented.
Task-number: QT-3017
Reviewed-by: axis
Diffstat (limited to 'qmake')
-rw-r--r-- | qmake/generators/symbian/symmake.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/qmake/generators/symbian/symmake.cpp b/qmake/generators/symbian/symmake.cpp index b5a0696..9ade699 100644 --- a/qmake/generators/symbian/symmake.cpp +++ b/qmake/generators/symbian/symmake.cpp @@ -1317,6 +1317,10 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy fixedItem = item; } + QString condition; + if (!project->isEmpty(item + ".condition")) + condition = project->first(item + ".condition"); + QFileInfo subdir(fileInfo(fixedItem)); QString relativePath = directory.relativeFilePath(fixedItem); QString subdirFileName = subdir.completeBaseName(); @@ -1345,9 +1349,16 @@ void SymbianMakefileGenerator::writeBldInfContent(QTextStream &t, bool addDeploy bldinfDefine = bldinfDefine.toUpper(); removeSpecialCharacters(bldinfDefine); + if (!condition.isEmpty()) + t << "#if defined(" << condition << ")" << endl; + t << "#ifndef " << bldinfDefine << endl; t << "\t#include \"" << bldinfFilename << "\"" << endl; - t << "#endif // " << bldinfDefine << endl; + t << "#endif" << endl; + + if (!condition.isEmpty()) + t << "#endif" << endl; + } // Add supported project platforms |