Skip to content
  • Oswald Buddenhagen's avatar
    apply a build pass to retrieve all project variables · 0afcbaa9
    Oswald Buddenhagen authored
    
    
    so far, we used a build pass only to retrieve accurate target
    information from the exact evaluator. however, this is insufficient for
    at least two reasons:
    - the recently introduced postprocessing of RESOURCES in resources.prf
      is executed only during build passes
    - some relevant variables are build pass specific, for example
      INCLUDEPATH when it includes RCC_DIR
    
    an additional upside is that using the build pass' values is consistent
    with qmake's vcxproj generation mode.
    
    on the downside, the extra cumulative build pass adds 33% of pure
    project evaluation time. however, this isn't as bad, as the pro files
    are already loaded and parsed, and the expensive source file resolution
    moves completely to the build pass.
    
    the alternative of defeating the build pass logic (as lupdate does) is
    not feasible, as we rely on accurate target information from an actual
    build pass for the run configurations.
    
    note that this all applies only to windows (and macos when explicitly
    configured with -debug-and-release).
    
    Task-number: QTCREATORBUG-16019
    Change-Id: I8a97856b3b738aa1a581d24ba24bb3e7199d8078
    Reviewed-by: default avatarTobias Hunger <tobias.hunger@qt.io>
    0afcbaa9