1. 08 Aug, 2017 1 commit
  2. 02 Aug, 2017 1 commit
  3. 28 Jul, 2017 1 commit
  4. 11 Jul, 2017 1 commit
  5. 07 Jul, 2017 1 commit
    • Brad King's avatar
      find_package: Restore longer message when config files were considered · e7730d78
      Brad King authored
      Since commit v3.9.0-rc1~58^2 (find_package: shorten output for missing
      package in config mode, 2017-05-09) we print only the one line
      
          - Could NOT find Foo (missing: Foo_DIR)
      
      when package Foo cannot be found in CONFIG mode and it is not REQUIRED.
      However, in the case that package configuration files were found but not
      used, this one line message leaves out important information.  This can
      happen when a package configuration file sets `Foo_FOUND` to `FALSE` or
      when its package version file does not match the requested version.
      Restore the longer message in these cases.  Otherwise a seemingly valid
      explicit `Foo_DIR` setting appears to be silently ignored even if it was
      considered.
      
      Fixes: #17029
      e7730d78
  6. 23 May, 2017 1 commit
  7. 16 May, 2017 1 commit
  8. 18 Apr, 2016 1 commit
    • Brad King's avatar
      cmListFileBacktrace: Refactor storage to provide efficient value semantics · 7c36d206
      Brad King authored
      Since commit v3.4.0-rc1~321^2~2 (Genex: Store a backtrace, not a pointer
      to one, 2015-07-08) we treat cmListFileBacktrace instances as
      lightweight values.  This was true at the time only because the
      backtrace information was kept in the cmState snapshot hierarchy.
      However, that forced us to accumulate a lot of otherwise short-lived
      snapshots just to have the backtrace fields available for reference by
      cmListFileBacktrace instances.  Recent refactoring made backtrace
      instances independent of the snapshot hierarchy to avoid accumulating
      short-lived snapshots.  This came at the cost of making backtrace values
      heavy again, leading to lots of string coying and slower execution.
      
      Fix this by refactoring cmListFileBacktrace to provide value semantics
      with efficient shared storage underneath.  Teach cmMakefile to maintain
      its call stack using an instance of cmListFileBacktrace.  This approach
      allows the current backtrace to be efficiently saved whenever it is
      needed.
      
      Also teach cmListFileBacktrace the notion of a file-level scope.  This
      is useful for messages about the whole file (e.g. during parsing) that
      are not specific to any line within it.  Push the CMakeLists.txt scope
      for each directory and never pop it.  This ensures that we always have
      some context information and simplifies cmMakefile::IssueMessage.
      Push/pop a file-level scope as each included file is processed.  This
      supersedes cmParseFileScope and improves diagnostic message context
      information in a few places.  Fix the corresponding test cases to expect
      the improved output.
      7c36d206
  9. 24 Nov, 2015 1 commit
  10. 13 Aug, 2013 1 commit
  11. 19 Mar, 2012 1 commit
  12. 13 Mar, 2012 1 commit
  13. 12 Mar, 2012 1 commit