1. 11 Apr, 2018 1 commit
  2. 04 Apr, 2018 1 commit
  3. 27 Mar, 2018 1 commit
  4. 21 Mar, 2018 2 commits
    • 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
    • Brad King's avatar
      find_package: Improve CMP0074 warning messages · 3f479a3c
      Brad King authored
      Policy `CMP0074` was added by commit eb35d888 (find_package: Use
      PackageName_ROOT variables as search prefixes, 2018-03-15).  Revise the
      logic to avoid warning when a `PackageName_ROOT` variable is set to
      empty since that won't change the search behavior.  Also, when we do
      warn include the variable value(s) for reference.
      3f479a3c
  5. 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
  6. 08 Mar, 2018 1 commit
  7. 06 Mar, 2018 1 commit
  8. 23 Feb, 2018 1 commit
  9. 08 Feb, 2018 1 commit
  10. 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
  11. 26 Jan, 2018 1 commit
  12. 23 Jan, 2018 1 commit
  13. 10 Jan, 2018 3 commits
    • Vitaly Stakhovsky's avatar
      cmSourceGroup: code improvements; use std::string and C++11 loops · 969c1f94
      Vitaly Stakhovsky authored
      Topic-rename: cmSourceGroup-modern-cxx
      969c1f94
    • Ben Boeckel's avatar
      cmSourceFile: mark known locations as such · d6dfde3c
      Ben Boeckel authored
      Primarily, this includes:
      
        - the rule files generated for custom targets;
        - source files representing custom targets directly;
        - outputs of custom commands;
        - byproducts of custom commands; and
        - dependencies of custom commands.
      d6dfde3c
    • 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
  14. 08 Jan, 2018 1 commit
  15. 22 Dec, 2017 2 commits
  16. 15 Dec, 2017 2 commits
  17. 20 Nov, 2017 1 commit
  18. 17 Nov, 2017 2 commits
    • Justin Goshi's avatar
      server: ctestInfo fix to return all tests · fe2c2b0f
      Justin Goshi authored
      Prior to this change we were looking at targets. But tests are
      associated with directories. This change fixes how we gather all tests.
      fe2c2b0f
    • Aaron Orenstein's avatar
      Performance: Improve efficiency of source file lookup in cmMakefile · 4a6348db
      Aaron Orenstein authored
      This reintroduces the change from commit v3.10.0-rc1~69^2 (Performance:
      Improve efficiency of source file lookup in cmMakefile, 2017-08-17) with
      some corrections.  The original was rolled back by commit
      v3.10.0-rc1~52^2~1 (Revert "Performance: ...", 2017-09-25) due to
      incompatibilities found.  The rollback was followed-up by addition of a
      test for the offending case, and this revision passes the test.
      4a6348db
  19. 15 Nov, 2017 1 commit
  20. 03 Nov, 2017 2 commits
  21. 01 Nov, 2017 1 commit
  22. 30 Oct, 2017 1 commit
  23. 23 Oct, 2017 1 commit
    • Matthias Männich's avatar
      Replace cmArray{Begin,End,Size} by their standard counterparts · 57132765
      Matthias Männich authored
      std::{begin,end} are part of C++11, std::{cbegin,cend} are part of C++14
      and an standard compliant implementation has been introduced within the
      'cm' namespace: cm::{cbegin,cend}.
      
      std::size is only part of C++17, hence exposing a compliant implementation
      within namespace cm (cm::size).
      
      where possible, the standard implementations are reused.
      57132765
  24. 19 Oct, 2017 1 commit
    • Brad King's avatar
      Add infrastructure for generators to select a build tool instance · 314613d1
      Brad King authored
      Add cache entry `CMAKE_GENERATOR_INSTANCE` to hold the instance location
      persistently across re-runs of CMake in a given build tree.
      
      For now we reject the option by default if explicitly set.  It will be
      implemented on a per-generator basis.  Pass the setting into try_compile
      project generation.  Add a RunCMake.GeneratorInstance test to cover
      basic use cases for the option.  Verify that `CMAKE_GENERATOR_INSTANCE`
      is empty by default, and that it is rejected when the generator does not
      support a user setting.
      
      Issue: #17268
      314613d1
  25. 27 Sep, 2017 1 commit
    • Brad King's avatar
      try_compile: Simplify generator platform and toolset propagation · 29849376
      Brad King authored
      We don't need to save the `CMAKE_GENERATOR_{PLATFORM,TOOLSET}` values
      from the cache back into the `cmake` instance.  They were used only to
      propagate the settings into `cmake` instances for `try_compile`, but we
      already have their values in the `cmMakefile`'s variables anyway.  In
      fact those variables are the ones we actually give to the generators.
      29849376
  26. 25 Sep, 2017 2 commits
  27. 20 Sep, 2017 1 commit
  28. 15 Sep, 2017 1 commit
  29. 12 Sep, 2017 1 commit
  30. 09 Sep, 2017 2 commits