1. 03 Nov, 2019 1 commit
  2. 09 Oct, 2019 1 commit
  3. 01 Oct, 2019 1 commit
  4. 23 Sep, 2019 1 commit
  5. 22 Sep, 2019 2 commits
  6. 21 Sep, 2019 1 commit
  7. 20 Sep, 2019 2 commits
    • Brad King's avatar
      Do not collect objects from dependencies of object libraries · 71e67739
      Brad King authored
      Object libraries do not link and therefore do not need to consider the
      object files from "linked" dependencies on other object libraries.
      
      This was an oversight in commit 57538224
      
       (objlib: Link object-files
      from `OBJECT` libraries, 2017-12-14, v3.12.0-rc1~419^2~2).
      
      Fixes: #19744
      Inspired-by: Julien Finet's avatarJulien Finet <julien.finet@kitware.com>
      71e67739
    • Marc Chevrier's avatar
      cmstd: Modernize CMake system headers · c688b401
      Marc Chevrier authored
      Provide a standardized way to handle the C++ "standard" headers
      customized to be used with current CMake C++ standard constraints.
      Offer under directory `cm` headers which can be used as direct
      replacements of the standard ones.  For example:
      
          #include <cm/string_view>
      
      can be used safely for CMake development in place of the `<string_view>`
      standard header.
      
      Fixes: #19491
      c688b401
  8. 18 Sep, 2019 1 commit
  9. 17 Sep, 2019 1 commit
  10. 16 Sep, 2019 1 commit
  11. 12 Sep, 2019 1 commit
  12. 10 Sep, 2019 1 commit
    • wahikihiki's avatar
      clang-tidy: modernize-use-auto · d25a5a7e
      wahikihiki authored
      Set the MinTypeNameLength option to an impossibly high value in order
      to limit the diagnostics to iterators.  Leave new expressions and cast
      expressions for later.
      d25a5a7e
  13. 09 Sep, 2019 1 commit
    • Rolf Eike Beer's avatar
      use cmSystemTools::MoveFileIfDifferent() · 5b96fd5b
      Rolf Eike Beer authored
      This is better than doing CopyFileIfDifferent() followed by RemoveFile() in
      two ways:
      
       - it is more efficient, as it avoids disk I/O for the data, even if the
         files here are usually small
       - it is atomic, so an abort during the copy will not leave a destination file
         with partial data behind
      5b96fd5b
  14. 06 Sep, 2019 1 commit
  15. 04 Sep, 2019 1 commit
  16. 03 Sep, 2019 2 commits
  17. 30 Aug, 2019 1 commit
  18. 29 Aug, 2019 1 commit
  19. 28 Aug, 2019 1 commit
  20. 27 Aug, 2019 1 commit
  21. 26 Aug, 2019 1 commit
  22. 23 Aug, 2019 2 commits
  23. 22 Aug, 2019 1 commit
    • Sebastian Holtermann's avatar
      Source sweep: Use cmStrCat for string concatenation · 9b334397
      Sebastian Holtermann authored
      This patch is generated by a python script that uses regular expressions to
      search for string concatenation patterns of the kind
      
      ```
      std::string str = <ARG0>;
      str += <ARG1>;
      str += <ARG2>;
      ...
      ```
      
      and replaces them with a single `cmStrCat` call
      
      ```
      std::string str = cmStrCat(<ARG0>, <ARG1>, <ARG2>, ...);
      ```
      
      If any `<ARGX>` is itself a concatenated string of the kind
      
      ```
      a + b + c + ...;
      ```
      
      then `<ARGX>` is split into multiple arguments for the `cmStrCat` call.
      
      If there's a sequence of literals in the `<ARGX>`, then all literals in the
      sequence are concatenated and merged into a single literal argument for
      the `cmStrCat` call.
      
      Single character strings are converted to single char arguments for
      the `cmStrCat` call.
      
      `std::to_string(...)` wrappings are removed from `cmStrCat` arguments,
      because it supports numeric types as well as string types.
      
      `arg.substr(x)` arguments to `cmStrCat` are replaced with
      `cm::string_view(arg).substr(x)`
      9b334397
  24. 20 Aug, 2019 1 commit
  25. 19 Aug, 2019 1 commit
  26. 18 Aug, 2019 1 commit
  27. 17 Aug, 2019 1 commit
  28. 14 Aug, 2019 1 commit
  29. 09 Aug, 2019 1 commit
  30. 05 Aug, 2019 1 commit
  31. 02 Aug, 2019 3 commits
  32. 01 Aug, 2019 1 commit
  33. 29 Jul, 2019 1 commit
  34. 23 Jul, 2019 1 commit
    • Brad King's avatar
      Genex: Memoize usage requirement TARGET_PROPERTY existence · 1d3841b6
      Brad King authored
      For each usage requirement (such as `INTERFACE_COMPILE_DEFINITIONS` or
      `INTERFACE_INCLUDE_DIRECTORIES`), the value of the generator expression
      `$<TARGET_PROPERTY:target,prop>` includes the values of the same
      property from the transitive closure of link libraries of the target.
      
      In cases that a target's transitive closure of dependencies does not
      depend on the target being linked (the "head" target), we can memoize
      whether or not a usage requirement property exists at all for that
      target.  When a usage requirement does not exist for a target, we
      can skip evaluating it for every consuming target.
      
      Fixes: #18964, #18965
      1d3841b6