Mercurial > projects > qtd
changeset 238:1349940724eb
Generate a classes list for cmake.
author | SokoL_SD |
---|---|
date | Mon, 20 Jul 2009 06:04:17 +0000 |
parents | 62d0dce52dac |
children | 4716eaf4a67e |
files | generator/cppheadergenerator.cpp generator/cppimplgenerator.cpp generator/generator.pro generator/jumptable.cpp generator/metainfogenerator.cpp generator/prigenerator.cpp generator/prigenerator.h |
diffstat | 7 files changed, 31 insertions(+), 36 deletions(-) [+] |
line wrap: on
line diff
--- a/generator/cppheadergenerator.cpp Mon Jul 20 06:00:55 2009 +0000 +++ b/generator/cppheadergenerator.cpp Mon Jul 20 06:04:17 2009 +0000 @@ -168,11 +168,11 @@ writeWrapperClass(s, java_class); */ s << endl; - QString pro_file_name = java_class->package().replace(".", "_") + "/" + java_class->package().replace(".", "_") + ".pri"; + if (!java_class->generateShellClass()) { s << "#endif" << endl << endl; - priGenerator->addHeader(pro_file_name, fileNameForClass(java_class)); + priGenerator->addHeader(java_class->package(), fileNameForClass(java_class)); return ; } @@ -247,7 +247,8 @@ s << "};" << endl << endl << "#endif // " << include_block << endl; - priGenerator->addHeader(pro_file_name, fileNameForClass(java_class)); + priGenerator->addHeader(java_class->package(), fileNameForClass(java_class)); + priGenerator->addClass(java_class->package(), java_class->name()); }
--- a/generator/cppimplgenerator.cpp Mon Jul 20 06:00:55 2009 +0000 +++ b/generator/cppimplgenerator.cpp Mon Jul 20 06:04:17 2009 +0000 @@ -725,8 +725,7 @@ s << endl << endl; - QString pro_file_name = java_class->package().replace(".", "_") + "/" + java_class->package().replace(".", "_") + ".pri"; - priGenerator->addSource(pro_file_name, fileNameForClass(java_class)); + priGenerator->addSource(java_class->package(), fileNameForClass(java_class)); } void CppImplGenerator::writeVirtualDispatchFunction(QTextStream &s, const AbstractMetaFunction *function, bool d_export)
--- a/generator/generator.pro Mon Jul 20 06:00:55 2009 +0000 +++ b/generator/generator.pro Mon Jul 20 06:04:17 2009 +0000 @@ -1,7 +1,7 @@ -contains(QT_CONFIG, release) { - CONFIG -= debug - CONFIG += release -} +#contains(QT_CONFIG, release) { +# CONFIG -= debug +# CONFIG += release +#} # Input HEADERS += classlistgenerator.h \
--- a/generator/jumptable.cpp Mon Jul 20 06:00:55 2009 +0000 +++ b/generator/jumptable.cpp Mon Jul 20 06:04:17 2009 +0000 @@ -291,7 +291,7 @@ FileOut file(tableFile); QString pkgSubDir = QString(packageName).replace(".", "_"); - m_prigenerator->addSource(pkgSubDir + "/" + pkgSubDir + ".pri", "nativejumptable.cpp"); + m_prigenerator->addSource(packageName, "nativejumptable.cpp"); printf("Generating jump table (.cpp): %s\n", qPrintable(tableFile));
--- a/generator/metainfogenerator.cpp Mon Jul 20 06:00:55 2009 +0000 +++ b/generator/metainfogenerator.cpp Mon Jul 20 06:04:17 2009 +0000 @@ -382,8 +382,7 @@ fileHash.insert(cls->package(), f); - QString pro_file_name = cls->package().replace(".", "_") + "/" + cls->package().replace(".", "_") + ".pri"; - priGenerator->addSource(pro_file_name, cppFilename()); + priGenerator->addSource(cls->package(), cppFilename()); } if (!(cls->attributes() & AbstractMetaAttributes::Fake)) { @@ -491,8 +490,7 @@ fileHash.insert(cls->package(), true); - QString pro_file_name = cls->package().replace(".", "_") + "/" + cls->package().replace(".", "_") + ".pri"; - priGenerator->addHeader(pro_file_name, headerFilename()); + priGenerator->addHeader(cls->package(), headerFilename()); if( file.done() ) ++m_num_generated_written; @@ -615,9 +613,7 @@ s << ";" << endl << "}" << endl << endl; - QString pro_file_name = QString(package).replace(".", "_"); - - priGenerator->addSource(pro_file_name + "/" + pro_file_name + ".pri", "qtjambi_libraryinitializer.cpp"); + priGenerator->addSource(package, "qtjambi_libraryinitializer.cpp"); if( fileOut.done() ) ++m_num_generated_written;
--- a/generator/prigenerator.cpp Mon Jul 20 06:00:55 2009 +0000 +++ b/generator/prigenerator.cpp Mon Jul 20 06:04:17 2009 +0000 @@ -43,14 +43,19 @@ #include "reporthandler.h" #include "fileout.h" -void PriGenerator::addHeader(const QString &folder, const QString &header) +void PriGenerator::addHeader(QString package, const QString &header) { - priHash[folder].headers << header; + priHash[package.replace(".", "_")].headers << header; } -void PriGenerator::addSource(const QString &folder, const QString &source) +void PriGenerator::addSource(QString package, const QString &source) { - priHash[folder].sources << source; + priHash[package.replace(".", "_")].sources << source; +} + +void PriGenerator::addClass(QString package, const QString &class_name) +{ + priHash[package.replace(".", "_")].classes << class_name; } void PriGenerator::generate() @@ -59,22 +64,14 @@ while (pri.hasNext()) { pri.next(); - FileOut file(m_out_dir + "/cpp/" + pri.key()); - file.stream << "HEADERS += \\\n"; - QStringList list = pri.value().headers; + FileOut file(m_out_dir + "/cpp/" + pri.key() + "/" + pri.key() + ".txt"); + file.stream << "set (classes \n"; + QStringList list = pri.value().classes; qSort(list.begin(), list.end()); foreach (const QString &entry, list) { - file.stream << " $$PWD/" << entry << " \\\n"; + file.stream << " " << entry << "\n"; } - - file.stream << "\n"; - file.stream << "SOURCES += \\\n"; - list = pri.value().sources; - qSort(list.begin(), list.end()); - foreach (const QString &entry, list) { - file.stream << " $$PWD/" << entry << " \\\n"; - } - file.stream << "\n\n"; + file.stream << ")\n"; if (file.done()) ++m_num_generated_written;
--- a/generator/prigenerator.h Mon Jul 20 06:00:55 2009 +0000 +++ b/generator/prigenerator.h Mon Jul 20 06:04:17 2009 +0000 @@ -51,6 +51,7 @@ { QStringList headers; QStringList sources; + QStringList classes; }; class PriGenerator : public Generator @@ -60,8 +61,9 @@ public: virtual void generate(); - void addHeader(const QString &folder, const QString &header); - void addSource(const QString &folder, const QString &source); + void addHeader(QString package, const QString &header); + void addSource(QString package, const QString &source); + void addClass(QString package, const QString &class_name); private: QHash<QString, Pri> priHash;