Commit Graph

33 Commits

Author SHA1 Message Date
hjk
f12fb1496f CMakeProject: Simplify tree generation helper function
The sets of used nodes are not needed anymore.

Change-Id: I308fa140779f8a108fa23907f0959cf35100d67f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-01-26 15:25:55 +00:00
hjk
beaba559a5 ProjectExplorer: Slim down user side ProjectNode handling
Change-Id: If727ff6cd09cc127e031c49c47f61ffda631a80e
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-01-26 15:24:57 +00:00
Tobias Hunger
26878aacaa CMake: Cancel running tasks on crash of cmake server
Change-Id: I5bf36a5ebb9d6a80278b9b83a14788a171f9c14f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-01-23 15:38:25 +00:00
Tobias Hunger
01e80b264b CMake: Put cmake server-mode socket into a temporary directory
Do not put the cmake server-mode socket into the build directory, but
put it into a temporary directory instead.

This makes sure it will not stick around and also avoids polluting the
build directory with Qt Creator specific files.

Task-number: QTCREATORBUG-17320
Change-Id: Id849b1a80d7cba07c026cc2ecd7030435c401884
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-01-20 12:21:20 +00:00
Tobias Hunger
0f7d75ccf5 CMake server-mode: Keep settings
Keep settings when switching from the temporary build directory to the
real one using cmake with server-mode.

Task-number: QTCREATORBUG-17360
Change-Id: If36489cb2584dc5e0b021430e5d860e146fd8a86
Reviewed-by: Florian Apolloner <florian@apolloner.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2017-01-19 16:04:19 +00:00
Alexander Drozdov
3ff3a19207 CMake: fix definition composing in ServerModeReader
CMake uses definitions with assign operator notation, so, we should
replace first assign operator with space to omit parser damage.

Change-Id: I795c4371a1fdd534a42eb01bdcbe852534ce2bcf
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2017-01-16 11:31:36 +00:00
Tobias Hunger
8f885a5b2e CMake: Fix WS in servermode reader
Change-Id: I797d3c7025ee43f722ed137d911c58acb4b8e1f0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2016-12-21 15:25:23 +00:00
Tobias Hunger
b11726bf05 CMake: Do not list <Build Directory> twice
Do not list <Build Directory> twice when switching from a temporary
build folder to the real one.

Change-Id: Id7d5f4a4b48d6c63dd4c7da2932b6a857ff0c7f7
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2016-12-21 15:25:19 +00:00
Tobias Hunger
c41404728a CMake: Always list CMakeLists.txt files
Always list CMakeLists.txt files, even if CMake thinks they are part
of its own modules. This unbreaks opening the cmake project with
a cmake built from those sources.

Change-Id: Ia7245aa0fa39854fe228cdff75b2256115545b39
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-12-21 14:21:06 +00:00
Tobias Hunger
1b2fc1c815 CMake: Pass const QList<const FileNode *> to Directory Readers
This makes sure they need to copy whatever they need.

Change-Id: I767ac0c5f54ca1f9f46acdefe4bd7fea35657312
Reviewed-by: Alexander Drozdov <adrozdoff@gmail.com>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-12-21 14:19:36 +00:00
Tobias Hunger
45ad669a88 CMake: Return empty tree on errors in server-mode
This triggers the fallback mechanism which will make sure the CMakeLists.txt
file will be displayed.

This used to fail since one empty folder was left over in the project.

Task-number: QTCREATORBUG-17383
Change-Id: I867fd9039bc5df805ff5174ec49084bbcf688824
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-12-05 16:21:30 +00:00
Tobias Hunger
183cdbc91f CMake: Emit errorOccurred on errors in server-mode
Change-Id: I0dd262ccaad3704c70dedff5e0b102032c46d2df
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-12-05 09:22:41 +00:00
Tobias Hunger
e545f8a105 CMake: Work-around first config argument getting skipped by cmake
Work-around the first configure argument getting ignored by cmake 3.7.0
and CMake 3.7.1.

Change-Id: Iaf164cbf973672c1d899738a374c65ea5641132c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-12-02 15:33:55 +00:00
Tobias Hunger
63c0fbc4e4 CMake: Cache cmake configuration only once
This fixes saves memory and fixes some update issues with the cmake
configuration, where the three layers of caches used to interfere
with each other.

Task-number: QTCREATORBUG-17360
Change-Id: I5564bbe46ca8de6b38dd710100bfc18fad98eac5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-12-02 12:00:09 +00:00
Tobias Hunger
ea220ccec1 CMake: Emit necessary signal in server-mode
Change-Id: I35066deebbd0b7330cbf9864442073966af9203f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-12-02 11:59:58 +00:00
Tobias Hunger
2d8d90bc79 CMake: Cache buildtargets in builddirmanager
No need to have the builddirreaders to so.

Change-Id: Ia7e38f6483b29d6a4f4b65baacc17bf184a3cb34
Task-number: QTCREATORBUG-17359
Reviewed-by: Florian Apolloner <florian@apolloner.eu>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-30 14:23:36 +00:00
Tobias Hunger
c9be75fe65 CMake: Handle executables properly in server-mode
Change-Id: Idabfc2449377d0d81cc1639ad4992d8710ec8b7d
Task-number: QTCREATORBUG-17359
Reviewed-by: Florian Apolloner <florian@apolloner.eu>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-30 14:23:28 +00:00
Tobias Hunger
c54fe23579 CMake: Send compact JSON output to cmake server
Change-Id: I0e02f122bdb2b1b417a70aa4933cc4246d6969c6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-30 14:23:16 +00:00
Tobias Hunger
391284f393 CMake: Fix <Build Directory> in server-mode
Files below <Build Directory> could not be opened from the project tree
since their file path was broken. Fix that.

Task-number: QTCREATORBUG-17297
Change-Id: Id785ffa1c4d22c4dfdc0b5ecf8217d3f8bc319c4
Reviewed-by: Florian Apolloner <florian@apolloner.eu>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-25 10:23:50 +00:00
Tobias Hunger
3422e5cded CMake: Clean up more paths in server-mode
Change-Id: Ifd578cbc7516f66ad52cc13faca0ee733dbc7512
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-17 10:57:23 +00:00
Tobias Hunger
a7aeec22ce CMake: Unify names for important directories in server-mode
Unify names for important directories in the project tree of
server-mode cmake projects.

Change-Id: I6354e0a1cfb71f9038d9110438622c824deedebe
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-17 10:57:16 +00:00
Tobias Hunger
eff0768100 CMake: Fix server-mode trimming out targets every second time
Do not trim out targets every second time the project tree is generated.

Change-Id: I6ed9cd7bb6b2e88ec6dbe063f90719ffacffdd61
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-15 16:27:21 +00:00
Tobias Hunger
7b467cbad6 CMake: Make sure paths are clean in server-mode
Change-Id: I93c61a24e63d8920731b4197d88248d13219eb81
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-15 16:27:09 +00:00
Tobias Hunger
247a6fea93 CMake: Server-mode: Use sourceDirectory directly
Change-Id: I0929ea86e24a8f1aa4dbfc5d41421127accefe33
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-14 11:17:45 +00:00
Tobias Hunger
4b4dc9d06c CMake: Project tree for server mode data
Change-Id: Ief884a76c1b4211501dd6515b17b6e88a8e881e5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-14 10:29:53 +00:00
Tobias Hunger
1a2f649b70 CMake: Clean out unnecessary data in server mode reader
Do not keep data around once it is used. It will not help on the next run,
especially not when the parsing fails then:-)

Change-Id: Ifa1259b74349ac172a5c9d5411c10d429085b853
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-14 09:03:44 +00:00
Tobias Hunger
269e699fd9 CMake: Pass scanned files on to builddirreaders
Change-Id: I226aeafe6800a84fe4bbf8cf6fd21b8237575a88
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-14 09:03:28 +00:00
Tobias Hunger
a7f237d17b CMake: Make future-handling in ServerModeReader more robust
Change-Id: Id2fc5487fdfb7619db2eee2439e5636afdc39add
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-07 13:25:39 +00:00
Tobias Hunger
ce3e586198 ProjectExplorer: Shorten space needed to store a FileType
Use class enum to shorten the FileType to quint16. This frees up a couple
of bytes per FileNode and we can have many of those.

Change-Id: I3a9ae25059690fefa15305a4268269647d6dc1c9
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-11-03 15:55:39 +00:00
Tobias Hunger
db6b60874d CMake: Make connections in server-mode setup more robust
Change-Id: I1e66b4decd485edac9e3fb5508d5c0bb10d0554a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-11-01 15:42:04 +00:00
Orgad Shaneh
b4e8dba26a CMakePM: Fix compilation with Qt 5.6
Change-Id: I9c1b924c29b6f1531322987ce77a577353aea300
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-11-01 06:17:36 +00:00
Tobias Hunger
36cfa32a86 CMake: Use ServerModeReader to retrieve data
Change-Id: I415dbf7ca79c909eea23ef3dc3a1d87438e9f261
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-31 13:03:27 +00:00
Tobias Hunger
c75210034c CMake: Implement a reader that interacts with CMake server mode
Implement a reader that interacts with CMake server mode to retrieve
its data.

Change-Id: I4146a648475c2c5811b8a08126f10ff3b99e79f5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2016-10-31 13:03:21 +00:00