# HG changeset patch # User SokoL_SD # Date 1248069857 0 # Node ID 1349940724ebb20217839e551d1764d3ad7d6591 # Parent 62d0dce52dace594c8a0092e625bde4f9be8e2a9 Generate a classes list for cmake. diff -r 62d0dce52dac -r 1349940724eb generator/cppheadergenerator.cpp --- 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()); } diff -r 62d0dce52dac -r 1349940724eb generator/cppimplgenerator.cpp --- 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) diff -r 62d0dce52dac -r 1349940724eb generator/generator.pro --- 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 \ diff -r 62d0dce52dac -r 1349940724eb generator/jumptable.cpp --- 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)); diff -r 62d0dce52dac -r 1349940724eb generator/metainfogenerator.cpp --- 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; diff -r 62d0dce52dac -r 1349940724eb generator/prigenerator.cpp --- 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; diff -r 62d0dce52dac -r 1349940724eb generator/prigenerator.h --- 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 priHash;