Skip to content
  • Brad King's avatar
    Ninja: Centralize path conversion in global generator (#15757) · 6e2a4087
    Brad King authored
    In the Ninja generator we run all build rules from the top of the build
    tree rather than changing into each subdirectory.  Therefore we convert
    all paths relative to the HOME_OUTPUT directory.  However, the Convert
    method on cmLocalGenerator restricts relative path conversions to avoid
    leaving the build tree with a "../" sequence.  Therefore conversions
    performed for "subdirectories" that are outside the top of the build
    tree always use full paths while conversions performed for
    subdirectories that are inside the top of the build tree may use
    relative paths to refer to the same files.
    
    Since Ninja always runs rules from the top of the build tree we should
    convert them using only the top-level cmLocalGenerator in order to
    remain consistent.  Also extend the test suite with a case that fails
    without this fix.
    6e2a4087