Skip to content
  • Alexander Drozdov's avatar
    CMake: make project file system tree scanner persistent · dfaf0161
    Alexander Drozdov authored
    
    
    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: default avatarTobias Hunger <tobias.hunger@qt.io>
    dfaf0161