1. 30 May, 2017 1 commit
  2. 26 May, 2017 1 commit
  3. 16 May, 2017 1 commit
  4. 08 May, 2017 1 commit
  5. 25 Apr, 2017 1 commit
  6. 21 Apr, 2017 1 commit
    • Ben Boeckel's avatar
      ninja: break unnecessary target dependencies · adf60b28
      Ben Boeckel authored
      Previously, given two libraries, X and Y where X depends on Y, all
      object compilations of X would require the Y library to have been linked
      before being compiled. This is not necessary and can instead be loosened
      such that object compilations of X only depend on the order-only
      dependencies of Y to be completed. This is to ensure that generated
      sources, headers, custom commands, etc. are completed before X starts to
      compile its objects.
      
      This should help build performance in projects with many libraries which
      cause a deep library dependency chain. Previously, a library at the
      bottom would not start compilation until after all other libraries
      completed, but now only its link step needs to wait and its compilation
      jobs can be run in parallel with other tasks.
      
      Fixes: #15555
      adf60b28
  7. 20 Apr, 2017 1 commit
  8. 19 Apr, 2017 1 commit
  9. 11 Apr, 2017 1 commit
    • Daniel Pfeifer's avatar
      Use quotes for non-system includes · 1d829c86
      Daniel Pfeifer authored
      Automate with:
      
      git grep -l '#include <cm_' -- Source \
        | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g'
      
      git grep -l '#include <cmsys/' -- Source \
        | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g'
      
      git grep -l '#include <cm[A-Z]' -- Source \
        | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
      1d829c86
  10. 08 Nov, 2016 1 commit
  11. 05 Nov, 2016 1 commit
  12. 28 Oct, 2016 1 commit
  13. 24 Oct, 2016 2 commits
    • Alexis Murzeau's avatar
      Ninja: Use binary dir for `$subdir/all` targets · e983bd32
      Alexis Murzeau authored and Brad King's avatar Brad King committed
      The targets added by commit v3.6.0-rc1~240^2~2 (Ninja: Add `$subdir/all`
      targets, 2016-03-11) use as `$subdir` the relative path from the top of
      the source tree to the current source directory.  This is not correct
      when using `add_subdirectory(test test_bin)`.  Instead we need to use
      the relative path from the top of the binary tree to the current binary
      directory as was done for related targets by commit v3.7.0-rc1~268^2
      (Ninja: Add `$subdir/{test,install,package}` targets, 2016-08-05).
      e983bd32
    • Alexis Murzeau's avatar
      Ninja: Use binary dir for `$subdir/all` targets · 42db2ebc
      Alexis Murzeau authored and Brad King's avatar Brad King committed
      The targets added by commit v3.6.0-rc1~240^2~2 (Ninja: Add `$subdir/all`
      targets, 2016-03-11) use as `$subdir` the relative path from the top of
      the source tree to the current source directory.  This is not correct
      when using `add_subdirectory(test test_bin)`.  Instead we need to use
      the relative path from the top of the binary tree to the current binary
      directory as was done for related targets by commit v3.7.0-rc1~268^2
      (Ninja: Add `$subdir/{test,install,package}` targets, 2016-08-05).
      42db2ebc
  14. 20 Oct, 2016 3 commits
  15. 19 Oct, 2016 4 commits
  16. 10 Oct, 2016 3 commits
    • Stephen Kelly's avatar
      cmLinkLineComputer: Move ComputeLinkLibs from cmLocalGenerator · 0c978063
      Stephen Kelly authored
      Add a cmOutputConverter to the cmLinkLineComputer and factory methods to
      facilitate shell escapes.
      
      Add state to the cmLinkLineComputer to record whether outputting for
      response files or for watcom, to satisfy the cmOutputConverter API.
      These are constant for the lifetime of the cmLinkLineComputer, even when
      its functionality is extended in the future.  This also keeps the
      signatures of cmLinkLineComputer relatively simple.
      
      Pass the cmComputeLinkInformation as a method parameter so that
      cmLinkLineComputer is free from target-specific state.  An instance
      should be usable for all targets in a directory.
      0c978063
    • Stephen Kelly's avatar
      cmLinkLineComputer: Extract from cmLocalGenerator · 5b361fdd
      Stephen Kelly authored
      CMake has several classes which have too many responsibilities.
      cmLocalGenerator is one of them.  Start to extract the link line
      computation.  Create generator-specific implementations of the interface
      to account for generator-specific behavior.
      
      Unfortunately MSVC60 has different behavior to everything else and CMake
      still generates makefiles for it.  Isolate it with MSVC60-specific
      names.
      5b361fdd
    • Stephen Kelly's avatar
      Ninja: Constify · 2e5d1990
      Stephen Kelly authored
      2e5d1990
  17. 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 lin...
      86578ecc
  18. 22 Sep, 2016 7 commits
  19. 20 Sep, 2016 2 commits
  20. 19 Sep, 2016 2 commits
  21. 03 Sep, 2016 1 commit
  22. 30 Aug, 2016 1 commit
  23. 27 Aug, 2016 1 commit
  24. 18 Aug, 2016 1 commit