1. 14 Feb, 2019 2 commits
  2. 25 Jan, 2019 1 commit
    • wahikihiki's avatar
      clang-tidy: Use `= default` · 55671b41
      wahikihiki authored
      Suppress some cases in `Source/cmGeneratorExpressionNode.cxx` and
      `Source/cmUVHandlePtr.h` where a few older compilers require a
      user-defined default constructor (with `{}`).
      55671b41
  3. 18 Jan, 2019 1 commit
  4. 15 Dec, 2018 1 commit
  5. 08 Dec, 2018 1 commit
  6. 07 Dec, 2018 1 commit
  7. 07 Aug, 2018 1 commit
    • Sebastian Holtermann's avatar
      cmGeneratedFileStream: clang-tidy applied to remove redundant ``c_str`` calls · b6802cd5
      Sebastian Holtermann authored
      After changing the ``cmGeneratedFileStream`` methods to accept
      ``std::string const&`` instead of ``const char*`` we don't
      need to call ``std::string::c_str`` anymore when passing
      a ``std::string`` to a ``cmGeneratedFileStream`` method.
      
      This patch removes all redundant ``std::string::c_str``
      calls when passing a string to a ``cmGeneratedFileStream`` method.
      
      It was generated by building CMake with clang-tidy enabled using
      the following options:
      
      -DCMAKE_CXX_CLANG_TIDY=/usr/bin/clang-tidy-4.0;-checks=-*,readability-redundant-string-cstr;-fix;-fix-errors
      b6802cd5
  8. 20 Apr, 2018 2 commits
    • Brad King's avatar
      Fortran: Add support for submodule dependencies · 40273531
      Brad King authored
      Since commit v3.7.0-rc1~73^2~1 (Fortran: Add support for submodule
      syntax in dependency scanning, 2016-09-05) we support parsing Fortran
      sources that use submodule syntax, but it left addition of `.smod`
      dependencies to future work.  Add it now.
      
      The syntax
      
          submodule (module_name) submodule_name
      
      means the current source requires `module_name.mod` and provides
      `module_name@submodule_name.smod`.  The syntax
      
          submodule (module_name:submodule_name) nested_submodule_name
      
      means the current source requires `module_name@submodule_name.smod`
      provides `module_name@nested_submodule_name.smod`.
      
      Fixes: #17017
      40273531
    • Brad King's avatar
      Fortran: Refactor to treat .mod extension as part of module name · 62538b2c
      Brad King authored
      When tracking module names internally, include the `.mod` extension.
      This will later be useful to distinguish them from `.smod` extensions
      for submodules.
      62538b2c
  9. 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
  10. 03 Jan, 2018 1 commit
  11. 14 Dec, 2017 2 commits
    • Yurii Batrak's avatar
      Makefiles: Drop 'requires' step and its supporting infrastructure · 7ab9a625
      Yurii Batrak authored
      The 'requires' step was used to provide implicit dependencies between
      the generated Fortran module files and a Fortran target that needs these
      module files to ensure the correct compilation order.  After recent
      refactoring to resolve all dependencies explicitly through `.mod.stamp`
      make targets, the separate 'requires' step is not needed anymore.
      7ab9a625
    • Yurii Batrak's avatar
      Makefiles: Avoid nested make calls for Fortran module dependencies · 5f2e2c38
      Yurii Batrak authored
      Makefiles generated by cmake use a series of nested calls to build
      `*.provides.build` targets that are used when the 'requires' step is
      needed.  That leads to significant degradation of the build time for
      incremental builds.  Re-arrange dependencies to eliminate the nested
      calls.
      
      Explicit `.mod.stamp` targets introduced by this commit could lead to
      situation when a stamp file always older than its dependency.  This
      happens during the incremental build when building of an updated Fortran
      source produces a module file that has no differences from the stored
      stamp file.  In such case `cmake_copy_f90_mod` will be triggered on each
      new build to compare a module file with the corresponding stamp file.
      This behavior is expected and can not be changed without nested calls
      that slow down the build.  The copy-if-different check is much cheaper
      than an entire nested make call.
      5f2e2c38
  12. 15 Sep, 2017 1 commit
  13. 12 Sep, 2017 1 commit
  14. 24 Aug, 2017 1 commit
  15. 11 Apr, 2017 1 commit
    • Daniel Pfeifer's avatar
      Use quotes for non-system includes · 1d829c86
      Daniel Pfeifer authored
      Automate with:
      
      git grep -l '#include <cm_' -- Source \
        | xargs sed -i 's/#include <\(cm_.*\)>/#include "\1"/g'
      
      git grep -l '#include <cmsys/' -- Source \
        | xargs sed -i 's/#include <\(cmsys\/.*\)>/#include "\1"/g'
      
      git grep -l '#include <cm[A-Z]' -- Source \
        | xargs sed -i 's/#include <\(cm[A-Z].*\)>/#include "\1"/g'
      1d829c86
  16. 08 Nov, 2016 1 commit
  17. 19 Oct, 2016 1 commit
  18. 06 Oct, 2016 2 commits
  19. 27 Sep, 2016 1 commit
    • Brad King's avatar
      Simplify CMake per-source license notices · 86578ecc
      Brad King authored
      Per-source copyright/license notice headers that spell out copyright holder
      names and years are hard to maintain and often out-of-date or plain wrong.
      Precise contributor information is already maintained automatically by the
      version control tool.  Ultimately it is the receiver of a file who is
      responsible for determining its licensing status, and per-source notices are
      merely a convenience.  Therefore it is simpler and more accurate for
      each source to have a generic notice of the license name and references to
      more detailed information on copyright holders and full license terms.
      
      Our `Copyright.txt` file now contains a list of Contributors whose names
      appeared source-level copyright notices.  It also references version control
      history for more precise information.  Therefore we no longer need to spell
      out the list of Contributors in each source file notice.
      
      Replace CMake per-source copyright/license notice headers with a short
      description of the license and links to `Copyright.txt` and online information
      available from "https://cmake.org/licensing".  The online URL also handles
      cases of modules being copied out of our source into other projects, so we
      can drop our notices about replacing links with full license text.
      
      Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority
      of the replacements mechanically.  Manually fix up shebang lines and trailing
      newlines in a few files.  Manually update the notices in a few files that the
      script does not handle.
      86578ecc
  20. 19 Sep, 2016 8 commits
  21. 12 Sep, 2016 1 commit
  22. 06 Sep, 2016 1 commit
  23. 03 Sep, 2016 1 commit
  24. 27 Aug, 2016 1 commit
  25. 24 Aug, 2016 1 commit
    • Brad King's avatar
      Fortran: Fix .mod file comparison for Intel 16 format · f699323a
      Brad King authored
      The Intel 16 format starts with the 0x0A 0x00 sequence that we use to
      skip past the timestamp.  This occurrence appears to be a version
      number.  Skip the first byte to avoid matching the sequence early.
      
      Ideally we should gain a better understanding of the format and avoid
      depending on short sequences that are likely to appear early by
      coincidence, but this approach will suffice for now.
      
      Closes: #16263
      f699323a
  26. 18 Aug, 2016 1 commit
  27. 16 Aug, 2016 1 commit
  28. 28 Jun, 2016 1 commit
  29. 14 Jun, 2016 1 commit