1. 14 Feb, 2019 40 commits
    • Brad King's avatar
      Fortran: Fix submodule file names across compilers · d80ecba5
      Brad King authored
      The naming convention for submodule files varies across compilers.  Add
      a table to the compiler information modules and thread the information
      through to the Fortran module dependency parser.  Fill out the table for
      compiler ids known to support Fortran submodules.
      
      Fixes: #18746
      d80ecba5
  2. 28 Jan, 2019 40 commits
  3. 27 Jan, 2019 40 commits
  4. 25 Jan, 2019 40 commits
    • 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
  5. 22 Jan, 2019 40 commits
  6. 21 Jan, 2019 40 commits
  7. 20 Jan, 2019 40 commits
  8. 18 Jan, 2019 40 commits
  9. 17 Jan, 2019 40 commits
  10. 08 Dec, 2018 40 commits
  11. 07 Dec, 2018 40 commits
  12. 21 Nov, 2018 40 commits
  13. 18 Oct, 2018 40 commits
  14. 10 Oct, 2018 40 commits
    • Brad King's avatar
      cmLocalGenerator: Remove AddCompileDefinitions method · 8f076acd
      Brad King authored
      This method offers the same definitions as `GetTargetDefines` except
      that it excludes the "export" macro on shared libraries.  Update call
      sites to use `GetTargetDefines` instead.  Some of them were incorrectly
      excluding the export macro.
      8f076acd
  15. 18 Sep, 2018 40 commits
  16. 15 Sep, 2018 40 commits
  17. 11 Sep, 2018 40 commits
  18. 07 Aug, 2018 40 commits
    • 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
  19. 01 Jun, 2018 40 commits
    • 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
  20. 01 Apr, 2018 40 commits
  21. 23 Feb, 2018 40 commits
  22. 31 Jan, 2018 40 commits
    • 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
  23. 29 Jan, 2018 40 commits
  24. 26 Jan, 2018 40 commits
  25. 23 Jan, 2018 40 commits
  26. 03 Jan, 2018 40 commits
  27. 14 Dec, 2017 40 commits
    • 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
  28. 25 Sep, 2017 40 commits
  29. 23 Sep, 2017 40 commits
  30. 15 Sep, 2017 40 commits
  31. 12 Sep, 2017 40 commits
  32. 24 Aug, 2017 40 commits
  33. 16 Aug, 2017 40 commits
    • Aaron Orenstein's avatar
      Performance: Add an index to Change cmLocalGenerator::GeneratorTargets. · af3fd6f2
      Aaron Orenstein authored
      Add an index to Change cmLocalGenerator::GeneratorTargets for faster lookup by
      name.
      
      Also changed a bunch of uses of cmLocalGenerator::GetGeneratorTargets() to take
      const references instead of copying the vector.
      
      Represent generator targets as a map (name -> target) to make name lookups more
      efficient instead of looping through the entire vector to find the desired one.
      af3fd6f2
  34. 01 Jun, 2017 40 commits
  35. 15 May, 2017 40 commits
    • Brad King's avatar
      cmLocalCommonGenerator: Save CMAKE_BUILD_TYPE on construction · eeb47fbe
      Brad King authored
      Copy the value to our `ConfigName` member on construction to ensure it
      is available even to code paths that run before `Generate`.  We once
      needed to delay this lookup until `Generate` because the local
      generators were at one time created before `Configure`.  Now they are
      created at generate time which is late enough to expect
      `CMAKE_BUILD_TYPE` to be available.
      
      Without this, `cmGlobalUnixMakefileGenerator3::WriteConvenienceRules`
      causes use of `ConfigName` before it is populated which breaks use of
      source files that depend on the `$<CONFIG>` generator expression.
      
      Fixes: #16889
      eeb47fbe
  36. 20 Apr, 2017 40 commits