1. 08 Nov, 2016 1 commit
  2. 24 Oct, 2016 1 commit
  3. 27 Sep, 2016 1 commit
    • Brad King's avatar
      Simplify CMake per-source license notices · 86578ecc
      Brad King authored
      Per-source copyright/license notice headers that spell out copyright holder
      names and years are hard to maintain and often out-of-date or plain wrong.
      Precise contributor information is already maintained automatically by the
      version control tool.  Ultimately it is the receiver of a file who is
      responsible for determining its licensing status, and per-source notices are
      merely a convenience.  Therefore it is simpler and more accurate for
      each source to have a generic notice of the license name and references to
      more detailed information on copyright holders and full license terms.
      
      Our `Copyright.txt` file now contains a list of Contributors whose names
      appeared source-level copyright notices.  It also references version control
      history for more precise information.  Therefore we no longer need to spell
      out the list of Contributors in each source file notice.
      
      Replace CMake per-source copyright/license notice headers with a short
      description of the license and links to `Copyright.txt` and online information
      available from "https://cmake.org/licensing".  The online URL also handles
      cases of modules being copied out of our source into other projects, so we
      can drop our notices about replacing links with full license text.
      
      Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
      of the replacements mechanically.  Manually fix up shebang lines and trailing
      newlines in a few files.  Manually update the notices in a few files that the
      script does not handle.
      86578ecc
  4. 03 Sep, 2016 2 commits
  5. 27 Jun, 2016 1 commit
    • Daniel Pfeifer's avatar
      Make C++ feature checks extensible · ea5477e4
      Daniel Pfeifer authored
      Turn the feature check for cxx11_unordered_map into a function such that
      we can use it for other features as well.  Drop the 11 suffix, as we may
      want to check features from other standards.
      ea5477e4
  6. 16 May, 2016 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format · d9fd2f54
      Kitware Robot authored
      Run the `Utilities/Scripts/clang-format.bash` script to update
      all our C++ code to a new style defined by `.clang-format`.
      Use `clang-format` version 3.8.
      
      * If you reached this commit for a line in `git blame`, re-run the blame
        operation starting at the parent of this commit to see older history
        for the content.
      
      * See the parent commit for instructions to rebase a change across this
        style transition commit.
      d9fd2f54
  7. 23 Aug, 2015 1 commit
    • Stephen Kelly's avatar
      cmDefinitions: Implement in terms of cmLinkedTree. · 25e04ddf
      Stephen Kelly authored
      Store the definitions in a cmLinkedTree in the cmMakefile.  This can
      be moved to cmState and then the tree will provide snapshotting
      possibilities.  It will also make the Closure copy created at
      the start of each cmMakefile unnecesarry.
      25e04ddf
  8. 19 May, 2015 4 commits
    • Stephen Kelly's avatar
      cmMakefile: Remove VarUsageStack. · b9f99155
      Stephen Kelly authored
      Store usage information in the cmDefintions value instead.  We already
      pay for the memory as padding in the Def struct, so we might as well
      use it.
      b9f99155
    • Stephen Kelly's avatar
      cmMakefile: Remove VarInitStack. · 2b09d9f3
      Stephen Kelly authored
      In cmMakefile::PushScope, a copy of the closure of keys initialized
      in the parent scope is made.  In PopScope, essentially the same copy
      is inserted back into the parent.  That means a lot of duplication
      of strings and a lot of string comparisons.  None of it is needed,
      because the cmDefinitions keys already provide a canonical
      representation of what is initialized.
      
      The removal of the separate container also makes the variable handling
      code more easy to reason about in general.
      
      Before this patch, configuring llvm uses 200 KiB for the VarInitStack.
      Overall peak memory consumption goes from 35.5 MiB to 35.1 MiB.
      2b09d9f3
    • Stephen Kelly's avatar
      cmMakefile: Mark definitions explicitly erased, even at top level. · f58c3774
      Stephen Kelly authored
      Presumably the intention here is to attempt to optimize memory by not
      storing what is not needed.  However, all keys need to be tracked
      anyway to implement initialization tracking, and this special case
      gets in the way of simplifying the implementation of that.
      
      This doesn't change any observable effects because values set
      to 0 are considered not to exist by the cmDefinitions API.
      f58c3774
    • Stephen Kelly's avatar
      cmMakefile: Raise variable in scope explicitly when needed. · ea7b962b
      Stephen Kelly authored
      The Get method implicitly pulls a copy of all variables into a local scope. This
      is not necessary.
      ea7b962b
  9. 18 May, 2015 1 commit
  10. 17 May, 2015 3 commits
  11. 01 May, 2015 4 commits
  12. 29 Apr, 2015 9 commits
  13. 28 Apr, 2015 3 commits
  14. 24 Oct, 2014 1 commit
    • Ben Boeckel's avatar
      Revert "cmDefinitions: Don't store parent lookups" · 5f414cef
      Ben Boeckel authored
      This reverts commit 5abfde6c
      
      .
      
      The behaviors associated with implicit pulldown on variable lookup
      seriously conflict with the optimizations made in these commits.
      Basically, since values were copied upon variable lookup, not just on
      PARENT_SCOPE, coupled with PARENT_SCOPE's behavior based on whether the
      variable is in the current scope or not causes serious problems with not
      storing a value for every variable at every scope.
      
      The commit changed behavior of the following example, among other cases:
      
        function(test_set)
          set(blah "value2")
          message("before PARENT_SCOPE blah=${blah}")
          set(blah ${blah} PARENT_SCOPE)
          message("after PARENT_SCOPE blah=${blah}")
        endfunction()
        set(blah value1)
        test_set()
        message("in parent scope, blah=${blah}")
      Reported-by: default avatarAlex Merry <alex.merry@kde.org>
      Reported-by: Ben Cooksley's avatarBen Cooksley <bcooksley@kde.org>
      5f414cef
  15. 09 Jun, 2014 2 commits
  16. 08 Mar, 2014 3 commits
  17. 01 Sep, 2010 1 commit
  18. 01 Oct, 2009 1 commit