diff options
author | Alexander Drozdov <adrozdoff@gmail.com> | 2016-12-04 03:36:12 +1000 |
---|---|---|
committer | Alexander Drozdov <adrozdoff@gmail.com> | 2016-12-13 21:16:56 +0000 |
commit | dfaf01614d976e228d97daf979745bed89b7f91a (patch) | |
tree | c51752bb6d253c2db6c81d685954ee0471aacf74 /src/plugins/cmakeprojectmanager/cmakeprojectconstants.h | |
parent | 357cefe67c44b21139457f742cf11f3e07dc4e1d (diff) |
CMake: make project file system tree scanner persistent
Project source tree is a same for all build configurations so it is
a good idea to keep it persistent between CMake runs, configurations
switches and so on. It safes a lot of time for big projects.
Move more operations to the scanner thread:
- Nodes filtering: skip .user files on top level of the project, skip
well-known extensions and octet-streams: In most cases these are not
required to be shown in the project tree.
- Nodes sorting
Fix small memory leak: we have .user in the scanner result. After this
node filtered out, but is not feed (old code at the
BuildDirManager::generateProjectTree()). Now .user file skips during scan
without memory allocation at all.
Allow user manually rescan project tree by call Build -> Rescan project
tree. It runs CMake and Tree Scanner together: in most cases only CMake
run requires but time to time (VCS update) full rescan also required.
Change-Id: I4a6e6c897202da557509291c79932dd7751860e5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Diffstat (limited to 'src/plugins/cmakeprojectmanager/cmakeprojectconstants.h')
-rw-r--r-- | src/plugins/cmakeprojectmanager/cmakeprojectconstants.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectconstants.h b/src/plugins/cmakeprojectmanager/cmakeprojectconstants.h index 6d0bb31f4d..c84e3f08dd 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectconstants.h +++ b/src/plugins/cmakeprojectmanager/cmakeprojectconstants.h @@ -37,6 +37,7 @@ const char CMAKE_EDITOR_ID[] = "CMakeProject.CMakeEditor"; const char CMAKE_EDITOR_DISPLAY_NAME[] = QT_TRANSLATE_NOOP("CMakeProjectManager::Internal::CMakeEditorFactory", "CMake Editor"); const char RUNCMAKE[] = "CMakeProject.RunCMake"; const char CLEARCMAKECACHE[] = "CMakeProject.ClearCache"; +const char RESCANPROJECT[] = "CMakeProject.RescanProject"; const char RUNCMAKECONTEXTMENU[] = "CMakeProject.RunCMakeContextMenu"; // Project |