1. 01 Jun, 2015 3 commits
  2. 27 May, 2015 2 commits
  3. 18 May, 2015 2 commits
    • Brad King's avatar
      07db2ca3
    • Brad King's avatar
      Fix assertion failure on unmatched foreach in function (#15572) · 3a656065
      Brad King authored
      The lexical scope counting added by commit v3.2.0-rc1~332^2~1 (Track
      nested loop levels in CMake language with a stack of counters,
      2014-11-18) forgot to account for scopes popped by error messages about
      unclosed scopes.  Teach the error handler to pop the lexical scope it
      reports as unclosed.  Re-order the lexical scope RAII object to be
      inside the variable scope RAII object scope so that the lexical scope
      is fully closed before we check assertions about variable scopes.
      
      Extend the RunCMake.Syntax test with a case covering this.
      3a656065
  4. 04 May, 2015 2 commits
  5. 01 May, 2015 2 commits
    • Brad King's avatar
    • Brad King's avatar
      Makefile: Workaround mingw32-make trailing backslash trouble (#15546) · bb6663ca
      Brad King authored
      When given the command line
      
        tool a\ b c
      
      mingw32-make incorrectly passes "a b" and "c" to the tool.  When given
      the command line
      
        tool a\ b "c"
      
      mingw32-make correctly passes "a\", "b", and "c" to the tool.
      
      Since commit v3.1.0-rc1~861^2 (MSVC: Add properties to configure
      compiler PDB files, 2014-02-24) we pass the compiler pdb option to
      MS-style compiler tools as "/Fd<dir>\" but mingw32-make may consume
      the backslash as escaping a following space as described above.
      Workaround this problem by changing the backslash to a forward
      slash as had been used prior to the above commit.
      bb6663ca
  6. 13 Apr, 2015 1 commit
  7. 10 Apr, 2015 3 commits
  8. 09 Apr, 2015 5 commits
  9. 01 Apr, 2015 2 commits
  10. 26 Mar, 2015 5 commits
  11. 25 Mar, 2015 1 commit
    • Betsy McPhail's avatar
      file(LOCK): Close file descriptor/handle when releasing a lock · 1f289095
      Betsy McPhail authored
      The file lock functionality added in commit v3.2.0-rc1~297^2~1 (file:
      Add LOCK subcommand to do file and directory locking, 2014-11-26) forgot
      to close the lock file descriptors.  Eventually it was possible to run
      out of file descriptors and locks could not longer be acquired.  Fix
      this by closing the file descriptor or handle when we are done with it.
      Also set the member back to the initial value from the constructor
      to leave everything in a consistent state (useful for debugging).
      
      Co-Author: Ruslan Baratov <ruslan_baratov@yahoo.com>
      1f289095
  12. 10 Mar, 2015 1 commit
  13. 09 Mar, 2015 7 commits
  14. 06 Mar, 2015 2 commits
    • Brad King's avatar
      cc1ee213
    • Brad King's avatar
      Makefile: Fix multiple custom command outputs regression (#15116) · 66a9c90c
      Brad King authored
      In commit v3.2.0-rc1~272^2~2 (Makefile: Fix rebuild with multiple custom
      command outputs, 2014-12-05) we changed the generated makefile pattern
      for multiple outputs from
      
        out1: depends...
                commands...
        out2: out1
      
      to
      
        out1 out2: depends...
                commands...
      
      This was based on the incorrect assumption that make tools would treat
      this as a combined output rule and run the command(s) exactly once for
      them.  It turns out that instead this new pattern is equivalent to
      
        out1: depends...
                commands...
        out2: depends...
                commands...
      
      so the commands may be run more than once.
      
      Some documents suggest using a "dedicated witness" stamp file:
      
        stamp: depends...
                rm -f stamp
                touch stamp.tmp
                commands...
                mv stamp.tmp stamp
        out1 out2: stamp
      
      However, if the commands fail the error message will refer to the stamp
      instead of any of the real outputs, which may be confusing to readers.
      Also, this approach seems to have the same behavior of the original
      approach that motiviated the above commit: multiple invocations are
      needed to bring consumers of the outputs up to date.
      
      Instead we can return to the original approach but add an explicit
      touch to each extra output rule:
      
        out1: depends...
                commands...
        out2: out1
                touch -c out2
      
      This causes make tools to recognize that all outputs have changed and
      therefore to execute any commands that consume them.
      66a9c90c
  15. 03 Mar, 2015 1 commit
  16. 02 Mar, 2015 1 commit