1. 19 Mar, 2019 1 commit
    • Brad King's avatar
      Replace use of CollapseCombinedPath with CollapseFullPath · a13a5c94
      Brad King authored
      `CollapseCombinedPath` was introduced by commit 551d3343 (cmDependsC:
      Collapse relative include paths, 2013-06-19, v2.8.12~237^2) where the
      existing `CollapseFullPath` should have been used instead.  Then its use
      proliferated slightly.  Since `CollapseCombinedPath` is less widely used
      and less robust (see issue #19049), use `CollapseFullPath` everywhere
      instead.
      
      Issue: #19050
      a13a5c94
  2. 26 Feb, 2019 1 commit
  3. 21 Feb, 2019 2 commits
  4. 15 Feb, 2019 1 commit
  5. 15 Jan, 2019 2 commits
  6. 01 Jun, 2018 1 commit
    • 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
  7. 02 Feb, 2018 1 commit
    • Sebastian Holtermann's avatar
      Autogen: Improved multi-config include scheme · a8ee7406
      Sebastian Holtermann authored
      For multi configuration generators AUTOMOC generates the
      moc files that are included in `mocs_compilation.cpp`
      in `AUTOGEN_BUILD_DIR/include_$<CONFIG>/`. By doing so each
      configuration reads different moc files when compiling
      `mocs_compilation.cpp`. Since we do not (need to) rewrite
      `mocs_compilation.cpp` on a configuration change anymore,
      the files also does not need to be recompiled anymore.
      Not having to rewrite and recompile `mocs_compilation.cpp`
      on a configuration change anymore was the main objective of
      this patch.
      
      In a similar fashion AUTORCC generates a `qrc_BASE_CMAKE.cpp`
      file below `AUTOGEN_BUILD_DIR/include_$<CONFIG>/` and
      `qrc_BASE.cpp` becomes a mere wrapper that includes this
      actuall rcc output file (when using multi configuration
      generators).
      
      The template files `Modules/AutoRccInfo.cmake.in` and
      `Modules/AutogenInfo.cmake.in` were removed in favor
      of writing the info `.cmake` files manually.
      
      Closes #17230
      a8ee7406
  8. 17 Jan, 2018 1 commit
    • Sebastian Holtermann's avatar
      Autogen: Process files concurrently in AUTOMOC and AUTOUIC · a008578d
      Sebastian Holtermann authored
      This introduces concurrent thread processing in the `_autogen`
      target wich processes AUTOMOC and AUTOUIC.
      Source file parsing is distributed among the threads by
      using a job queue from which the threads pull new parse jobs.
      Each thread might start an independent ``moc`` or ``uic`` process.
      Altogether this roughly speeds up the AUTOMOC and AUTOUIC build
      process by the number of physical CPUs on the host system.
      
      The exact number of threads to start in  the `_autogen` target
      is controlled by the new AUTOGEN_PARALLEL target property which
      is initialized by the new CMAKE_AUTOGEN_PARALLEL variable.
      If AUTOGEN_PARALLEL is empty or unset (which is the default)
      the thread count is set to the number of physical CPUs on
      the host system.
      
      The AUTOMOC/AUTOUIC generator and the AUTORCC generator are
      refactored to use a libuv loop internally.
      
      Closes #17422.
      a008578d
  9. 20 Dec, 2017 1 commit
    • Sebastian Holtermann's avatar
      Autogen: Fix for problematic nested list separator · 683e9023
      Sebastian Holtermann authored
      In the AutogenInfo.cmake file the separator for nested lists was
      `@LSEP@` which led to a speed regression because the `@` character
      triggered an (unsuccessful) expression evaluation.
      
      By setting the policy version of the CMake instance in the
      `_autogen` target to 3.9, the OLD `@` evaluating behavior
      controlled by policy CMP0053 is disabled.
      
      Also the nested lists separator string is changed to `<<<S>>>`,
      which solves the problem twofold.
      
      Issue: #17570
      683e9023
  10. 18 Dec, 2017 1 commit
    • Sebastian Holtermann's avatar
      Autogen: Fix for problematic nested lists separator · 3ce7eece
      Sebastian Holtermann authored
      In the AutogenInfo.cmake file the separator for nested lists
      was `@LSEP@` which led to a speed regression because the `@`
      character triggered an (unsuccessful) expression evaluation.
      
      By setting the policy version of the CMake instance in the
      `_autogen` target to 3.9, the OLD `@` evaluating behavior
      controlled by policy CMP0053 is disabled.
      
      Also the nested lists separator string is changed to `<<<S>>>`,
      which solves the problem twofold.
      
      Closes #17570
      3ce7eece
  11. 19 Nov, 2017 1 commit
    • Sebastian Holtermann's avatar
      Autogen: Detect rcc feature once during configuration · ab9d5896
      Sebastian Holtermann authored
      We used to detect the `rcc` features before every `rcc` list invocation
      wich resulted in `rcc` be called twice for every listing operation.
      
      Now we detect the `rcc` list capabilities once during configuration and
      pass it to the cmake_autorcc target in the info file.
      ab9d5896
  12. 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
  13. 25 Sep, 2017 2 commits
  14. 21 Sep, 2017 1 commit
  15. 07 Sep, 2017 4 commits
  16. 24 Aug, 2017 1 commit
  17. 01 Jun, 2017 1 commit
  18. 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
  19. 23 Mar, 2017 1 commit
  20. 06 Mar, 2017 3 commits