Mercurial > projects > qtd
comparison generator/main.cpp @ 384:d2f48c4cb3e3
Same behavior of shared libs on linux and windows. Minor build script fixes.
author | Max Samukha <maxter@spambox.com> |
---|---|
date | Fri, 16 Jul 2010 20:04:29 +0300 |
parents | 6cd923119ab1 |
children |
comparison
equal
deleted
inserted
replaced
383:bd7f485e3573 | 384:d2f48c4cb3e3 |
---|---|
44 #include "reporthandler.h" | 44 #include "reporthandler.h" |
45 #include "typesystem.h" | 45 #include "typesystem.h" |
46 #include "generatorset.h" | 46 #include "generatorset.h" |
47 #include "fileout.h" | 47 #include "fileout.h" |
48 #include "binder.h" | 48 #include "binder.h" |
49 #include "global.h" | |
49 | 50 |
50 #include "abstractmetalang.h" | 51 #include "abstractmetalang.h" |
51 | 52 |
52 #include <QDir> | 53 #include <QDir> |
53 | |
54 bool cpp_shared; | |
55 bool dPhobos = false; | |
56 int dVersion = 1; | |
57 | 54 |
58 void ReportHandler_message_handler(const std::string &str) | 55 void ReportHandler_message_handler(const std::string &str) |
59 { | 56 { |
60 ReportHandler::warning(QString::fromStdString(str)); | 57 ReportHandler::warning(QString::fromStdString(str)); |
61 } | 58 } |
128 if (args.contains("rebuild-only")) { | 125 if (args.contains("rebuild-only")) { |
129 QStringList classes = args.value("rebuild-only").split(",", QString::SkipEmptyParts); | 126 QStringList classes = args.value("rebuild-only").split(",", QString::SkipEmptyParts); |
130 TypeDatabase::instance()->setRebuildClasses(classes); | 127 TypeDatabase::instance()->setRebuildClasses(classes); |
131 } | 128 } |
132 | 129 |
133 if (args.contains("d-target")) | 130 QString dTarget = args.value("d-target"); |
131 if (!dTarget.isEmpty()) | |
134 { | 132 { |
135 QString dTarget = args.value("d-target"); | 133 dTarget = args.value("d-target"); |
136 if (dTarget == "d1-tango") | 134 if (dTarget == "d1-tango") |
137 dVersion = 1; | 135 global.dVersion = 1; |
138 /* | 136 /* |
139 else if (dtarget == "d2-tango") | 137 else if (dtarget == "d2-tango") |
140 qFatal("Tango D2 target is not supported"); | 138 qFatal("Tango D2 target is not supported"); |
141 */ | 139 */ |
142 else if (dTarget == "d2-phobos") | 140 else if (dTarget == "d2-phobos") |
143 { | 141 { |
144 dVersion = 2; | 142 global.dVersion = 2; |
145 dPhobos = true; | 143 global.dPhobos = true; |
146 } | 144 } |
147 else | 145 else |
148 { | 146 { |
149 fprintf(stderr, "D target '%s' is not recognized", qPrintable(dTarget)); | 147 fprintf(stderr, "D target '%s' is not recognized", qPrintable(dTarget)); |
150 return 1; | 148 return 1; |
177 displayHelp(gs); | 175 displayHelp(gs); |
178 | 176 |
179 if (!gs->readParameters(args)) | 177 if (!gs->readParameters(args)) |
180 displayHelp(gs); | 178 displayHelp(gs); |
181 | 179 |
182 cpp_shared = args.contains("cpp_shared"); | 180 global.cppShared = args.contains("cpp-shared"); |
181 | |
182 global.setTargetPlatform(args.value("target-platform")); | |
183 | 183 |
184 printf("Running the QtD Generator. Please wait while source files are being generated...\n"); | 184 printf("Running the QtD Generator. Please wait while source files are being generated...\n"); |
185 | 185 |
186 if (!TypeDatabase::instance()->parseFile(typesystemFileName, source_dir)) | 186 if (!TypeDatabase::instance()->parseFile(typesystemFileName, source_dir)) |
187 qFatal("Cannot parse file: '%s'", qPrintable(typesystemFileName)); | 187 qFatal("Cannot parse file: '%s'", qPrintable(typesystemFileName)); |