Commit Graph

138 Commits

Author SHA1 Message Date
Tobias Hunger
09b127f9f1 Project: Move signalling of parsing state into Project
Get rid of duplicated code to do such signaling in derived Project types.

Change-Id: I26914a1d751d72ee65c15a7943e0e7f34978f042
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-07-26 09:29:21 +00:00
Tobias Hunger
98764a44a7 qmake: Fix WS
Change-Id: Ib87bdf6c686e3bb37bdd55955d5e18de79d2729a
Reviewed-by: André Hartmann <aha_1980@gmx.de>
2017-07-18 08:05:07 +00:00
hjk
b0117cdfb4 QmakeProjectManager: Remove unused QmakePrifile::buildsFile()
Change-Id: Ia71e00036f5468415ffc2e5649efe96f3debbfc8
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-03-28 13:25:59 +00:00
hjk
8b8ba51ef3 ProjectNode: Let add/removeSubprojects operate on single files
That's the only way that is used.

Change-Id: I57e7942f9dccf74ff7588c3bca0ccf05f528a3df
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-03-20 10:56:34 +00:00
hjk
3f5caf4cdc Utils: Wrap MimeDatabase into static functions
To avoid repeating the 'MimeDatabase mdb; mdb.something(); ' mantra
all over the place.

Change-Id: I4bfef62e73275a991455141671d6071162788e9d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2017-03-03 07:57:54 +00:00
hjk
be204a125e ProjectManager: Cut ties between Project and IProjectManager
Not needed, less code.

Change-Id: Ie0d5c3a60f0392f30ed2ee9d2c5a32156b4e67e1
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-03-01 17:07:05 +00:00
Tim Jenssen
2631ffabd5 Remove spaces in initializer lists
Format initializer lists code style like.

Change-Id: Ib82c235e4ba7dc75ee96a7abc0c47eff7b0a9013
Reviewed-by: hjk <hjk@qt.io>
2017-02-22 16:25:09 +00:00
Tim Jenssen
005ca71cac qmake: Use a QSet<FileName> for sets of folders
Change-Id: Ia2b9c435bd16eb5175534975fd822cecb74cc70f
Reviewed-by: hjk <hjk@qt.io>
2017-02-22 16:10:33 +00:00
Tim Jenssen
f716aac52a qmake: sprinkle some const
Change-Id: I7f4ecc97650d8ed9c9720f3ff3af1b7eaa89c623
Reviewed-by: hjk <hjk@qt.io>
2017-02-22 16:04:22 +00:00
Tobias Hunger
f9eab73dad qmake: move over from QmakeProjectNodes to QmakeParserNodes
Change-Id: Iab87e0c248b0f651a1774336c3bddf83baa9d057
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 16:00:49 +00:00
Tobias Hunger
025d57981d qmake: Remove QmakePriFile::runConfigurations
There is no need to forward that from the QmakePriFileNode.

Change-Id: I6ebc267eac68729ddb13027412cb315f81d55e82
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:20:40 +00:00
Tobias Hunger
e06e00c23c qmake: Add knowsFile() method to QmakePriFile
Change-Id: Ib3f0799313afdb141270caa135b208a300078bc5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:19:50 +00:00
Tobias Hunger
8f0697e33d qmake: Unify TargetInformation and TargetParserInformation again
Change-Id: I00fc6e99e55684e67e5240c539002b13f4541286
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:19:20 +00:00
Tobias Hunger
96a7902383 qmake: Introduce QmakeNodeTreeBuilder
Introduce a new class used to turn a tree of QmakePriFiles into
a project tree.

Change-Id: I13b785fb988db3c5784bdf6e8daca6ba42f5a333
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:16:34 +00:00
Tobias Hunger
4ab44b07e5 qmake: Add method to find QmakePriFiles and QmakeProFiles
Change-Id: I04a75b94603b5483d5f9eaa827d08415c0a92985
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:14:00 +00:00
Tobias Hunger
bc64e91c5e qmake: Use more FileNames in Qmake*File
Change-Id: Id9f704d941a0f8df98bbb4e83e1ea773241a7023
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:13:27 +00:00
Tobias Hunger
5a223ca94e qmake: Add accessor for file lists to QmakePriFile
Change-Id: I37f9f39eba3bae2376d5349ce597e29fca6cb21f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:12:17 +00:00
Tobias Hunger
f8aaa2e0eb qmake: Do not rely an rootProjectNode in QmakeProFile::buildDir
Change-Id: I68211110c84587376079c02e0a7cd5f6ac6f9295
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:10:55 +00:00
Tobias Hunger
167762c2c6 qmake: Implement QmakeProFile::allProFiles
Change-Id: I9074b398e8b90657125c697cfa366f304c6c9ab5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:10:04 +00:00
Tobias Hunger
2f333b1072 qmake: add displayname method to Qmake*File
Change-Id: I90e6ef357f050953f51ae9cad4eb1c1d2daf4e5a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:08:53 +00:00
Tobias Hunger
8eb63d8375 qmake: Use Utils::FileName for QmakeProFile::subProjectsToDeploy
Change-Id: Iaa87f8049998939c883867aa13d9d347c19c33f9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:05:59 +00:00
Tobias Hunger
9e63c71412 qmake: Update QmakePriFile::subPriFilesExact
Change-Id: Ie1db4eb200c2a5d56bbca678dbe007f91aadf04a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-22 13:04:33 +00:00
Tobias Hunger
aa4c7dc07c qmake: QmakePriFile is no longer a ProjectNode
Change-Id: Ife3ca88e0d4e0a9de290b2b991ac8d10e3c55674
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-02-22 13:03:12 +00:00
Tobias Hunger
3bd6b69e66 qmake: use nullptr
Change-Id: I372c0b49b894c3758621e2e9d2b73aaa49371dde
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-15 11:03:18 +00:00
Tobias Hunger
4070b49118 qmake: Enable more code
Change-Id: I3b2a7d638571cb941906f37c7dfd6de613261a0a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-15 11:02:48 +00:00
Tobias Hunger
07c0ca5ef5 qmake: use class instead of struct
Change-Id: Ieb0d7557555c4a0c2e196b28841972483f3fd135
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-15 11:02:41 +00:00
Tobias Hunger
cf7c9dd063 qmake: Remove unnecessary includes
Change-Id: I9581b612acfba6f2da32cf7da9c793f09b56f0e5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-15 11:02:29 +00:00
Tobias Hunger
f4659ecc82 qmake: Introduce tree structure into QmakePriFiles
Change-Id: I0071c54a08d4775a34ab91e61be25f98352a5ed0
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-15 11:02:18 +00:00
Tobias Hunger
69684d9f9c qmake: Rename QmakeParser*FileNode to Qmake*File
Change-Id: I7598ccf93ed21a6d6650db76b17d745a2739b18c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-15 11:02:04 +00:00
Tobias Hunger
574669d333 qmake: Move more code into anonymous namespace
Change-Id: I9178c29637ae76e57ba885de671d11418284c3e2
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-15 10:10:17 +00:00
Tobias Hunger
48b7966d75 qmake: Remove InternalParserNode again
The parser nodes do not need to represent the actual project
tree, so there is no need to keep the tree-structure. Store
the list of files instead.

Change-Id: I83e036d4b9b42e4186b4ef23ac573865942ee97e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-15 10:10:07 +00:00
Tobias Hunger
13d71a9f6b qmake: Use logging category instead of debug enum
Change-Id: I4f8718656453a3a369780fb555f33235d652a0e8
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-02-15 09:03:16 +00:00
Tobias Hunger
eaaf9522c6 qmake: remove some unnecessary members from QmakeParserPriFileNode
Replace them with member functions providing the same information.

Change-Id: If65bb99c77df0f80562b4559914f4b81ab17a166
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-02-15 09:03:08 +00:00
Tobias Hunger
671e1626da qmake: QmakeParserPriFileNode: Use unique_ptr
Use unique_ptr to hold the QmakePriFileDocument. That makes
it clearer that QmakePriFileNode owns it.

Change-Id: Ia31778ad2a9d33a13cf818d3bcad0485ebfa2043
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-02-15 09:03:03 +00:00
Tobias Hunger
e376424b33 qmake: Rename QmakeParserPriFile to QmakePriFileDocument
Makes it clearer what that actually is.

Change-Id: I2b50deba53ae5cef2bf1a30b9497c1867559e1e9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
2017-02-15 09:02:58 +00:00
Tobias Hunger
086733a2c9 qmake: Use ProjectType enum consistently
Change-Id: I633a7150202fcbf420a33b4173d2b4451f46eb11
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-14 15:40:11 +00:00
Tobias Hunger
1878ff40ac qmake: Fix WS
Change-Id: I15f64b8c773446e7d1d3a980c9215f710b095ad9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-14 15:40:04 +00:00
Tobias Hunger
20e86c810e qmake: Introduce QMakeParserNodes
Introduce QmakeParser*FileNodes by copying Qmake*FileNodes and renaming
things so that nothing conflicts and both sets of Nodes can be built at
the same time.

The goal of this patchset is to disentangle the project parsing from the
project structure as shown in the project tree.

Change-Id: I4e7383b71849ed4de15d29a45c9b249aa2319a27
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-02-14 15:39:47 +00:00