Mercurial > projects > qtd
comparison generator/prigenerator.cpp @ 238:1349940724eb
Generate a classes list for cmake.
author | SokoL_SD |
---|---|
date | Mon, 20 Jul 2009 06:04:17 +0000 |
parents | e78566595089 |
children |
comparison
equal
deleted
inserted
replaced
237:62d0dce52dac | 238:1349940724eb |
---|---|
41 | 41 |
42 #include "prigenerator.h" | 42 #include "prigenerator.h" |
43 #include "reporthandler.h" | 43 #include "reporthandler.h" |
44 #include "fileout.h" | 44 #include "fileout.h" |
45 | 45 |
46 void PriGenerator::addHeader(const QString &folder, const QString &header) | 46 void PriGenerator::addHeader(QString package, const QString &header) |
47 { | 47 { |
48 priHash[folder].headers << header; | 48 priHash[package.replace(".", "_")].headers << header; |
49 } | 49 } |
50 | 50 |
51 void PriGenerator::addSource(const QString &folder, const QString &source) | 51 void PriGenerator::addSource(QString package, const QString &source) |
52 { | 52 { |
53 priHash[folder].sources << source; | 53 priHash[package.replace(".", "_")].sources << source; |
54 } | |
55 | |
56 void PriGenerator::addClass(QString package, const QString &class_name) | |
57 { | |
58 priHash[package.replace(".", "_")].classes << class_name; | |
54 } | 59 } |
55 | 60 |
56 void PriGenerator::generate() | 61 void PriGenerator::generate() |
57 { | 62 { |
58 QHashIterator<QString, Pri> pri(priHash); | 63 QHashIterator<QString, Pri> pri(priHash); |
59 while (pri.hasNext()) { | 64 while (pri.hasNext()) { |
60 pri.next(); | 65 pri.next(); |
61 | 66 |
62 FileOut file(m_out_dir + "/cpp/" + pri.key()); | 67 FileOut file(m_out_dir + "/cpp/" + pri.key() + "/" + pri.key() + ".txt"); |
63 file.stream << "HEADERS += \\\n"; | 68 file.stream << "set (classes \n"; |
64 QStringList list = pri.value().headers; | 69 QStringList list = pri.value().classes; |
65 qSort(list.begin(), list.end()); | 70 qSort(list.begin(), list.end()); |
66 foreach (const QString &entry, list) { | 71 foreach (const QString &entry, list) { |
67 file.stream << " $$PWD/" << entry << " \\\n"; | 72 file.stream << " " << entry << "\n"; |
68 } | 73 } |
69 | 74 file.stream << ")\n"; |
70 file.stream << "\n"; | |
71 file.stream << "SOURCES += \\\n"; | |
72 list = pri.value().sources; | |
73 qSort(list.begin(), list.end()); | |
74 foreach (const QString &entry, list) { | |
75 file.stream << " $$PWD/" << entry << " \\\n"; | |
76 } | |
77 file.stream << "\n\n"; | |
78 | 75 |
79 if (file.done()) | 76 if (file.done()) |
80 ++m_num_generated_written; | 77 ++m_num_generated_written; |
81 ++m_num_generated; | 78 ++m_num_generated; |
82 } | 79 } |