1. 24 Feb, 2017 2 commits
    • Brad King's avatar
      Merge branch 'ninja-no-full-path' into release · 8ea060f9
      Brad King authored
      8ea060f9
    • Brad King's avatar
      Revert "Ninja: Use full path for all source files" · 666ad1df
      Brad King authored
      This reverts commit v3.7.0-rc1~275^2 (Ninja: Use full path for all
      source files, 2016-08-05).  Unfortunately using absolute paths can
      cause incorrect rebuilds due to ninja limitations.  The ninja
      manual [1] explains:
      
      > ... using absolute paths, your depfile may result in a mixture of
      > relative and absolute paths. Paths used by other build rules need
      > to match exactly.
      
      Passing an absolute path to a source file to the compiler while using a
      relative path in the ninja build manifest can cause such mixture and
      lead to incorrect rebuilds.  Simply revert the change for now.
      
      Note that there was a follow-up to the original change in commit
      v3.7.0-rc2~10^2 (Ninja: Fix RC language depfile generation with
      cmcldeps, 2016-10-13).  We don't need to revert that because that
      change made the relevant code cleverly adapt to whatever variable
      we use to reference the source file.
      
      [1] https://ninja-build.org/manual.html#_deps
      
      Fixes: #16675
      Issue: #13894
      666ad1df
  2. 23 Feb, 2017 2 commits
  3. 22 Feb, 2017 8 commits
  4. 21 Feb, 2017 7 commits
  5. 20 Feb, 2017 2 commits
  6. 17 Feb, 2017 5 commits
    • Brad King's avatar
      4caa0e7e
    • Brad King's avatar
      Windows: Fix inconsistent behavior on changes to case of path to cmake · e2d78f75
      Brad King authored
      In commit v3.4.0-rc1~333^2 (Merge branch 'upstream-kwsys' into
      update-kwsys, 2015-07-15) we brought in upstream KWSys commit 86a24794
      (SystemTools: Fix GetActualCaseForPath drive letter case handling,
      2015-07-09).  This caused our path processing to convert drive letters
      to upper-case and exposed an existing bug in our implementation of
      CMP0017.
      
      Policy CMP0017 is responsible for ensuring that modules included from a
      builtin module only load other builtin modules and cannot be overridden
      by a file in `CMAKE_MODULE_PATH`.  If there is a case difference in the
      drive letter (or other path components) then the path to the including
      module may not match our builtin module directory in a simple string
      comparison.  This means builtin modules may not be recognized as such,
      and they may not reliably include their builtin dependencies.  For
      example, if a project provides a `Platform/Windows` module in
      `CMAKE_MODULE_PATH` it can break inclusion of our builtin
      `Platform/Windows` module, leading to strange behavior.
      
      Fix this by comparing the path to the including module to our builtin
      module directory using a function that is aware of case-insensitivity of
      paths on Windows.
      
      Fixes: #16648, #16622
      e2d78f75
    • Brad King's avatar
      2cffea3c
    • Brad King's avatar
      FindHDF5: Fix search for language-specific header file · 96d61393
      Brad King authored
      Refactoring in commit v3.6.0-rc1~85^2 (HDF5: Refactor the use of
      compiler wrappers, 2016-04-04) converted code of the form
      
          if(${LANGUAGE} MATCHES ...)
      
      to
      
          if(LANGUAGE MATCHES ...)
      
      However, `LANGUAGE` is a foreach() loop variable and not a normal
      variable so auto-dereference does not occur.  Restore the explicit `${}`
      syntax and use the new name of the loop variable that has changed since
      then too.
      
      Fixes: #16651
      96d61393
    • Brad King's avatar
      FindHDF5: Restore HDF5_<LANG>_INCLUDE_DIR advanced cache entry mark · 28bb68e3
      Brad King authored
      Refactoring in commit v3.6.0-rc1~72^2 (HDF5: Rework component searching
      to correctly find HL for all bindings, 2016-05-12) renamed the language
      loop variable used to construct the name of `HDF5_<LANG>_INCLUDE_DIR`
      but forgot to update it in the `mark_as_advanced` call.  Fix it now.
      
      Issue: #16651
      28bb68e3
  7. 15 Feb, 2017 8 commits
  8. 14 Feb, 2017 6 commits