1. 10 Jan, 2019 1 commit
    • Tobias Hunger's avatar
      Autogen: Add AUTO(MOC|RCC|UIC)_EXECUTABLE target properties · cd32886b
      Tobias Hunger authored
      Allow to force moc/rcc/uic compiler used for AUTO(MOC|RCC|UIC).
      
      Setting these properties is only necessary if you are going to do
      strange things like build these tools as part of your own build system.
      
      Setting these properties will also prevent cmake from testing the
      binary: It is user-provided and assumed to be valid.
      cd32886b
  2. 07 Jan, 2019 1 commit
    • Tobias Hunger's avatar
      Autogen: Prepare for Qt 6 · 9045f6a3
      Tobias Hunger authored
      Handle Qt version > 5 in Qt AutoGen.
      
      This patch does *NOT* include tests and documentation: There is no
      Qt 6 yet. I still need this patch to work on a cmake based build
      system for Qt 6.
      9045f6a3
  3. 07 Dec, 2018 3 commits
  4. 03 Dec, 2018 1 commit
  5. 28 Nov, 2018 1 commit
  6. 27 Nov, 2018 1 commit
    • Sebastian Holtermann's avatar
      Autogen: Fix empty uic executable string · b1b5004c
      Sebastian Holtermann authored
      In CMake 3.13.0 when a target has ``AUTOUIC`` enabled but doesn't
      link against Qt5Widgets, the uic executable string is empty and
      an error string "The uic executable \"\" does not exist" is generated.
      In CMake 3.12 ``AUTOUIC`` was silently disabled instead.
      This patch fixes the regression and restores the behavior of CMake 3.12.
      
      Fixes: #18630
      b1b5004c
  7. 21 Nov, 2018 1 commit
  8. 14 Nov, 2018 1 commit
  9. 11 Nov, 2018 1 commit
  10. 03 Nov, 2018 1 commit
    • Sebastian Holtermann's avatar
      Autogen: Add (CMAKE_)AUTOGEN_ORIGIN_DEPENDS support · b5e895b5
      Sebastian Holtermann authored
      This adds
      
      - the variable ``CMAKE_AUTOGEN_ORIGIN_DEPENDS`` which initializes
      - the target property ``AUTOGEN_ORIGIN_DEPENDS``
      
      which controls whether or not the origin target dependencies
      should be forwarded to the corresponding ``_autogen`` target.
      
      The default value of ``CMAKE_AUTOGEN_ORIGIN_DEPENDS`` is ``ON``
      which corresponds to the behavior that is in place since CMake 3.9.
      
      Closes: #18493
      b5e895b5
  11. 18 Oct, 2018 1 commit
  12. 10 Oct, 2018 1 commit
    • 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
  13. 18 Sep, 2018 1 commit
  14. 05 Sep, 2018 1 commit
  15. 27 Aug, 2018 1 commit
  16. 13 Aug, 2018 2 commits
  17. 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
  18. 30 Jul, 2018 5 commits
  19. 11 Jul, 2018 3 commits
  20. 02 Jul, 2018 1 commit
  21. 21 Jun, 2018 1 commit
  22. 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
  23. 30 May, 2018 2 commits
    • Sebastian Holtermann's avatar
      Autogen: Let AUTORCC generate output for all configurations · 41685c8b
      Sebastian Holtermann authored
      For multi configuration generators let AUTORCC generate
      the rcc output for all configurations.  This is a workaround
      for the incomplete `$<CONFIG>` support in the DEPENDS and OUTPUT
      clauses of a custom_command/custom_target.  Since we can't depend
      on the per-config rcc output file we somehow must ensure the successful
      rcc build for one configuration doesn't shadow the need to rcc rebuild
      for a second configuration.
      
      Closes #18006
      41685c8b
    • Sebastian Holtermann's avatar
      Autogen: Add lock file to AUTORCC commands · 2930a198
      Sebastian Holtermann authored
      By using a per .qrc lock file in AUTORCC, the same
      `cmake -E cmake_autorcc ...` command can be called concurrently.
      2930a198
  24. 14 May, 2018 1 commit
  25. 06 Feb, 2018 1 commit
  26. 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
  27. 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
  28. 23 Jan, 2018 1 commit
  29. 17 Jan, 2018 2 commits
    • Sebastian Holtermann's avatar
    • 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