1. 24 Jul, 2019 1 commit
  2. 19 Jul, 2019 1 commit
  3. 16 Jul, 2019 1 commit
  4. 19 Jun, 2019 1 commit
  5. 13 Jun, 2019 1 commit
  6. 21 May, 2019 1 commit
  7. 13 May, 2019 1 commit
  8. 19 Apr, 2019 1 commit
    • Brad King's avatar
      MSVC: Do not add /W3 to CMAKE_<LANG>_FLAGS by default · 1baf122c
      Brad King authored
      We do not add default warning flags on other compilers, and having
      a warning flag in the default flags makes it hard for projects to
      customize the warning level.  They need to use string processing
      to remove `/W3` from `CMAKE_{C,CXX}_FLAGS`.  Therefore we should
      drop it.
      
      However, projects may be using string processing to replace `/W3`
      with another flag, so we cannot simply drop it.  Add a policy to
      drop it in a compatible way.
      
      Fixes: #18317
      1baf122c
  9. 17 Apr, 2019 1 commit
    • Brad King's avatar
      MSVC: Add abstraction for runtime library selection · fb3370b6
      Brad King authored
      Replace our hard-coded defaults for `/MD` and `/MDd` with a first-class
      abstraction to select the runtime library from an enumeration of logical
      names.  We've long hesitated to do this because the idea of "runtime
      library selection" touches on related concepts on several platforms.
      Avoid that scope creep by simply defining an abstraction that applies
      only when targeting the MSVC ABI on Windows.
      
      Removing the old default flags requires a policy because existing
      projects may rely on string processing to edit them and choose a runtime
      library under the old behavior.  Add policy CMP0091 to provide
      compatibility.
      
      Fixes: #19108
      fb3370b6
  10. 04 Apr, 2019 1 commit
  11. 27 Mar, 2019 1 commit
  12. 21 Mar, 2019 1 commit
    • Brad King's avatar
      Help: Clarify policy CMP0082 documentation · ce730e9c
      Brad King authored
      The policy documentation added by commit fc8955e8 (add_subdirectory:
      Run subdirectory install rules in correct order, 2018-10-02,
      v3.14.0-rc1~565^2~1) left out our usual sentence about the policy
      providing compatibility.
      ce730e9c
  13. 15 Mar, 2019 1 commit
    • Robert Maynard's avatar
      export: Disable PACKAGE mode user package registry by default · 9bede5c4
      Robert Maynard authored
      The user package registry populated by the `export()` command causes
      side effects outside the build and source directories.  Such effects
      should be opt-in rather than op-out.  Introduce a policy to change
      default behavior of `export(PACKAGE)` to do nothing.
      9bede5c4
  14. 25 Feb, 2019 1 commit
    • Brad King's avatar
      XLClang: Add policy CMP0089 to present as XL for compatibility · 5c413863
      Brad King authored
      We now identify IBM's Clang-based XL compilers, which define
      `__ibmxl__`, as `XLClang` rather than `XL`.  In order to support
      existing project code that checks for `XL`, add a policy whose OLD
      behavior is to present the compiler id as `XL` and whose NEW behavior is
      to present the compiler id as `XLClang` as we really detect it.
      5c413863
  15. 20 Feb, 2019 1 commit
  16. 10 Jan, 2019 1 commit
  17. 22 Dec, 2018 1 commit
  18. 19 Dec, 2018 1 commit
  19. 07 Dec, 2018 2 commits
  20. 19 Nov, 2018 1 commit
    • Kyle Edwards's avatar
      Genex: Add policy to handle empty list items in $<IN_LIST:...> · b5f8113c
      Kyle Edwards authored
      The old behavior of $<IN_LIST:...> is inconsistent with that of
      if(IN_LIST), in that it does not find an empty search item even if
      the list contains empty items. This change adds a new policy to
      correctly handle empty items and make the behavior more consistent
      with if(IN_LIST).
      
      Fixes: #18556
      b5f8113c
  21. 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
  22. 11 Nov, 2018 1 commit
  23. 18 Oct, 2018 1 commit
    • Joachim Wuttke's avatar
      Help: Override pygments CMakeLexer to support <..> and [..] · fc7ee1ca
      Joachim Wuttke authored
      * The code snippets in the docs consist of CMake code mixed
        with syntax definition punctuation like < > [ ] ... Therefore
        a pure CMake lexer is inadequate. Here it is replaced by a
        CMake syntax definition parser.
      * Fixed syntax definition snippets in FindPkgConfig.cmake to
        make best use of syntax highlighting. This source file is the
        hardest to support because it contains comparison operators
        <= = >=, which need special attention to avoid confusion
        with the placeholder indicators <...>.
      * Fixed syntax in execute_process.rst (there were unbalanced
        brackets).
      * Disabled syntax highlighting for long string examples in
        cmake-language.7.rst.
      * No highlighting of removed syntax in CMP0049
      * To inspect the outcome of this patch, see e.g. the pages
        * manual/cmake-buildsystem.7.html
        * module/ExternalProject.html
        * module/FindPkgConfig.html
        which are particularly rich in complex code snippets.
      fc7ee1ca
  24. 15 Oct, 2018 1 commit
  25. 10 Oct, 2018 1 commit
    • Kyle Edwards's avatar
      add_subdirectory: Run subdirectory install rules in correct order · fc8955e8
      Kyle Edwards authored
      Before this change, install rules created by add_subdirectory()
      would be executed after all of the top-level install rules, even
      if they were declared before the top-level rules. This change
      adds a new policy, CMP0082, which interleaves the add_subdirectory()
      install rules with the other install rules so they are run in the
      correct order.
      fc8955e8
  26. 03 Oct, 2018 1 commit
  27. 25 Sep, 2018 1 commit
  28. 19 Sep, 2018 1 commit
  29. 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
  30. 25 Jul, 2018 1 commit
  31. 20 Jul, 2018 1 commit
  32. 09 Jul, 2018 1 commit
  33. 18 Jun, 2018 1 commit
  34. 18 Apr, 2018 1 commit
    • Brad King's avatar
      CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES · a61ae3fb
      Brad King authored
      Other check modules honor this variable, so include file checks should
      too.  Add policy `CMP0075` to enable the behavior in a compatible way.
      
      This change was originally made by commit v3.11.0-rc1~108^2
      (CheckIncludeFiles: Honor CMAKE_REQUIRED_LIBRARIES, 2017-12-24) but it
      was reverted by commit v3.11.1~9^2 (Revert "CheckIncludeFiles: Honor
      CMAKE_REQUIRED_LIBRARIES", 2018-04-04) because the behavior change could
      affect checks in existing projects in an incompatible way.
      
      Fixes: #9514
      a61ae3fb
  35. 16 Mar, 2018 1 commit
    • 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
  36. 07 Mar, 2018 1 commit
  37. 03 Jan, 2018 1 commit
  38. 17 Nov, 2017 1 commit
  39. 01 Nov, 2017 1 commit