1. 14 Jul, 2019 1 commit
  2. 10 Jul, 2019 1 commit
    • Brad King's avatar
      IWYU: Fix handling of <memory> standard header · 71fbebd1
      Brad King authored
      An old workaround for `std::allocator_traits<>::value_type` lints from
      IWYU on `std::vector<>` usage breaks IWYU's handling of `<memory>`.
      Convert the workaround to use the same approach we already use for a
      workaround of `std::__decay_and_strip<>::::__type` lints.  Then update
      the `<memory>` inclusions to follow the now-correct IWYU lints.
      71fbebd1
  3. 23 May, 2019 1 commit
  4. 14 May, 2019 1 commit
    • Rosen Matev's avatar
      Support job pools in custom commands and targets · 9f76961d
      Rosen Matev authored
      Provide a way for custom commands and targets to set the pool variable
      of the ninja build statement. Setting `JOB_POOL` is not compatible with
      `USES_TERMINAL`, which implies the `console` pool.
      
      The option is silently ignored with other generators.
      
      Closes: #18483
      9f76961d
  5. 31 Mar, 2019 1 commit
  6. 18 Feb, 2019 1 commit
  7. 15 Feb, 2019 1 commit
  8. 11 Feb, 2019 1 commit
  9. 07 Feb, 2019 1 commit
  10. 29 Jan, 2019 1 commit
  11. 23 Jan, 2019 1 commit
    • Kyle Edwards's avatar
      cmMakefile: Impose maximum recursion limit · a6982cff
      Kyle Edwards authored
      In order to keep infinitely-recursive scripts from causing a stack
      overflow in the CMake executable, CMake now imposes a maximum
      recursion limit before issuing an error message. The limit can be
      adjusted at runtime with CMAKE_MAXIMUM_RECURSION_DEPTH.
      
      Fixes: #18694
      a6982cff
  12. 21 Jan, 2019 1 commit
  13. 17 Jan, 2019 1 commit
  14. 16 Jan, 2019 1 commit
  15. 29 Dec, 2018 1 commit
  16. 28 Dec, 2018 2 commits
  17. 14 Nov, 2018 1 commit
    • Kyle Edwards's avatar
      find_package(): Add policy to remove the FindQt module · 0f5c1b40
      Kyle Edwards authored
      Removing FindQt.cmake gives Qt upstream a path forward to export its
      own QtConfig.cmake files which can be found by find_package()
      without having to explicitly specify CONFIG. Projects that still
      want to use Qt3/4 can call find_package(Qt[34]), include(FindQt),
      or add FindQt.cmake to their CMAKE_MODULE_PATH.
      0f5c1b40
  18. 05 Nov, 2018 1 commit
  19. 25 Sep, 2018 2 commits
  20. 18 Sep, 2018 1 commit
  21. 12 Sep, 2018 1 commit
    • Brad King's avatar
      target_link_libraries: Allow use with targets in other directories · a1ad0a69
      Brad King authored
      Previously the command did not allow naming targets on the LHS that
      were not created in the calling directory.  Lift this restriction to
      enable more flexible use by projects.
      
      Targets named on the RHS will need to be looked up during generation in
      the scope of the call site rather than the scope of the LHS target.
      Introduce an internal syntax in `[INTERFACE_]LINK_LIBRARIES` properties
      to specify target names that need to be looked up in a directory other
      than that containing the target on which the property is set.  Add
      minimal documentation of the syntax to help users that encounter it.
      
      Unfortunately CMake previously did allow such calls in the case that
      only `INTERFACE` libraries are specified, but those libraries would be
      looked up in the target's directory rather than the caller's.  Add
      policy `CMP0079` to enable the new behavior with new lookup scope in a
      compatible way.
      
      Fixes: #17943
      a1ad0a69
  22. 05 Sep, 2018 1 commit
  23. 27 Aug, 2018 1 commit
  24. 06 Jun, 2018 1 commit
    • Marc Chevrier's avatar
      LINK_OPTIONS: Add new family of properties · c1f5a44b
      Marc Chevrier authored
      This family enable to manage link flags
      
      Three new properties:
      * directory property: LINK_OPTIONS
      * target properties: LINK_OPTIONS and INTERFACE_LINK_OPTIONS
      
      Two new commands
      * add_link_options(): to populate directory property
      * target_link_options(): to populate target properties
      
      Fixes: #16543
      c1f5a44b
  25. 01 Jun, 2018 1 commit
    • Kitware Robot's avatar
      Revise C++ coding style using clang-format-6.0 · d7204e64
      Kitware Robot authored
      Run the `clang-format.bash` script to update all our C and C++ code to a
      new style defined by `.clang-format`.  Use `clang-format` version 6.0.
      
      * 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.
      d7204e64
  26. 25 May, 2018 1 commit
    • Florian Maushart's avatar
      cmake: Add options for parallel builds to --build mode · 1ab3881e
      Florian Maushart authored
      While we already support `cmake --build . -- -j`, the options after `--`
      are specific to the native build tool.  Add new options `--parallel
      [<N>]` and `-j [<N>]` to abstract this and map to the proper option
      for the native build tool.
      1ab3881e
  27. 01 May, 2018 2 commits
  28. 20 Apr, 2018 1 commit
  29. 18 Apr, 2018 1 commit
  30. 27 Mar, 2018 1 commit
  31. 21 Mar, 2018 1 commit
    • Brad King's avatar
      cmake_minimum_required: Optionally set policies with version range · 45408b5e
      Brad King authored
      Teach `cmake_minimum_required` and `cmake_policy(VERSION)` to support a
      version range of the form `<min>[...<max>]`.  Define this to mean that
      version `<min>` is required, but known policies up to those introduced
      by `<max>` will be set to `NEW`.  This will allow projects to easily
      specify a range of versions for which they have been updated.
      45408b5e
  32. 16 Mar, 2018 2 commits
    • Brad King's avatar
      cmPolicies: Pass policy version as std::string · 0df55983
      Brad King authored
      0df55983
    • Brad King's avatar
      find_package: Use PackageName_ROOT variables as search prefixes · eb35d888
      Brad King authored
      This feature was originally added by commit v3.9.0-rc1~71^2~2 (find_*:
      Add a new PackageRoot search path group, 2017-05-03) and documented by
      commit v3.9.0-rc1~71^2 (find_*: Add docs for PackageRoot search path
      group, 2017-05-03).  However, we had to disable the feature and remove
      the documentation in commit v3.9.1~2^2 (find_*: Disable the PACKAGE_ROOT
      search path group for CMake 3.9, 2017-08-08) due to breaking projects
      that used `PackageName_ROOT` variables themselves.
      
      Add policy `CMP0074` to restore the `PackageName_ROOT` variable behavior
      in a compatible way.  Also revise the stack of root paths to store the
      paths themselves rather than the package names.  This way the policy can
      be considered at the `find_package` call site instead of individual
      `find_` calls inside a find module.
      
      Co-Author: Chuck Atkins <chuck.atkins@kitware.com>
      Issue: #17144
      eb35d888
  33. 23 Feb, 2018 1 commit
  34. 31 Jan, 2018 1 commit
    • Pavel Solodovnikov's avatar
      Reduce raw string pointers usage. · 653b8946
      Pavel Solodovnikov authored
      * Change some functions to take `std::string` instead of
        `const char*` in the following classes: `cmMakeFile`, `cmake`,
        `cmCoreTryCompile`, `cmSystemTools`,  `cmState`, `cmLocalGenerator`
        and a few others.
      * Greatly reduce using of `const char*` overloads for
        `cmSystemTools::MakeDirectory` and `cmSystemTools::RelativePath`.
      * Remove many redundant `c_str()` conversions throughout the code.
      653b8946
  35. 23 Jan, 2018 1 commit
  36. 10 Jan, 2018 1 commit
    • Ben Boeckel's avatar
      cmSourceFileLocation: allow skipping ambiguous extensions · b0716fbc
      Ben Boeckel authored
      The ambiguous extension logic is an old behavior that ends up taking
      lots of extra compute cycles to execute. This is triggered by various
      CMake codepaths which pass extension-less paths down when CMake actually
      knows that they are not ambiguous. These codepaths will be indicated in
      upcoming changes.
      
      Various APIs have gained a cmSourceFileLocationKind parameter, but they
      are all optional and default to the existing behavior.
      b0716fbc