- 30 Jan, 2019 1 commit
-
-
Ben Boeckel authored
This allows functions which enable AutoGen to make the version variables available at generate time. See: #18732
-
- 07 Dec, 2018 1 commit
-
-
Passing an incomplete list of compiler include directories causes a regression in the KIO project (and probably others). We need to disable it until the complete list is available (see #16291). Fixes: #18669 Issue: #18041
-
- 27 Nov, 2018 1 commit
-
-
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
-
- 18 Sep, 2018 1 commit
-
-
- 05 Sep, 2018 1 commit
-
-
Use the new IsOn(),IsOff() overloads.
-
- 27 Aug, 2018 1 commit
-
-
- 13 Aug, 2018 2 commits
-
-
Sebastian Holtermann authored
-
Sebastian Holtermann authored
-
- 07 Aug, 2018 1 commit
-
-
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
-
- 30 Jul, 2018 5 commits
-
-
Sebastian Holtermann authored
For Qt4 it was not possible to pass all compiler implicit include directories to moc because it couldn't handle some system headers. For reference see commit 753b905e, commit d2536579 and [QTBUG-28045](https://bugreports.qt.io/browse/QTBUG-28045). For Qt5's moc the problem does not persist anymore so we can (and should) pass all implicit include directories to moc. Fixes #18041
-
Sebastian Holtermann authored
-
Sebastian Holtermann authored
-
Sebastian Holtermann authored
-
Sebastian Holtermann authored
-
- 11 Jul, 2018 3 commits
-
-
Sebastian Holtermann authored
-
Sebastian Holtermann authored
-
Sebastian Holtermann authored
cmQtAutoGenInitializer::InitCustomTargets and cmQtAutoGenInitializer::SetupCustomTargets now return their success value which gets evaluated and passed on by the caller (cmGlobalGenerator). Checks for the existance of the moc/uic/rcc binaries have been introduces in cmQtAutoGenInitializer. Additionally they get called once with a "-h" argument to determine if they're functional. This way any binary-not-found problem is caught during the configuration phase.
-
- 02 Jul, 2018 1 commit
-
-
Sebastian Holtermann authored
-
- 21 Jun, 2018 1 commit
-
-
Sebastian Holtermann authored
Setting CMAKE_AUTOGEN_VERBOSE enables verbose output during AUTOMOC, AUTOUIC and AUTORCC generation.
-
- 01 Jun, 2018 1 commit
-
-
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.
-
- 30 May, 2018 2 commits
-
-
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
-
Sebastian Holtermann authored
By using a per .qrc lock file in AUTORCC, the same `cmake -E cmake_autorcc ...` command can be called concurrently.
-
- 14 May, 2018 1 commit
-
-
For CMP0058 record that rcc info files are generated by CMake. Fixes: #17985
-
- 06 Feb, 2018 1 commit
-
-
Check if the content of the AUTOMOC/UIC/RCC info file will change before overwriting it. This avoids unnecessary AUTORCC rebuilds when AUTORCC unrelated CMake settings change.
-
- 02 Feb, 2018 1 commit
-
-
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
-
- 31 Jan, 2018 1 commit
-
-
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.
-
- 23 Jan, 2018 1 commit
-
-
Wouter Klouwen authored
This commit continues the changes made in CTest to support std::chrono by applying it throughout every component where a duration was used. No functional change intended.
-
- 17 Jan, 2018 2 commits
-
-
Sebastian Holtermann authored
-
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.
-
- 10 Jan, 2018 2 commits
-
-
Sebastian Holtermann authored
Until CMake 3.10 a list of source files that had the AUTOUIC_OPTIONS property populated was kept in `cmMakefile::QtUiFilesWithOptions`. In the process to remove all AUTOUIC related code from `cmMakefile` for CMake 3.10, the pre filtered list was replaced by a loop in `cmQtAutoGeneratorInitializer` over all source files in the `cmMakefile`. This loop introduced the problem that file paths were computed for source files that weren't in the target's sources and that might not even have existed. If the path for an unused and not existing file was computed a `cmake::FATAL_ERROR` with the error message "Cannot find source file:" was thrown nevertheless. This caused some projects to fail in CMake 3.10. This patch adds a test for path errors in the loops in `cmQtAutoGeneratorInitializer` that iterate over all source files in a `cmMakefile`. If a path error appears, the file is silently ignored. If the file is part of the target's sources, the path error will still be caught in the loop over all the target's sources. This is the fix for CMake 3.10.1.
-
Sebastian Holtermann authored
Until CMake 3.10 a list of source files that had the AUTOUIC_OPTIONS property populated was kept in `cmMakefile::QtUiFilesWithOptions`. In the process to remove all AUTOUIC related code from `cmMakefile` for CMake 3.10, the pre filtered list was replaced by a loop in `cmQtAutoGeneratorInitializer` over all source files in the `cmMakefile`. This loop introduced the problem that file paths were computed for source files that weren't in the target's sources and that might not even have existed. If the path for an unused and not existing file was computed a `cmake::FATAL_ERROR` with the error message "Cannot find source file:" was thrown nevertheless. This caused some projects to fail in CMake 3.10. This patch adds a test for path errors in the loops in `cmQtAutoGeneratorInitializer` that iterate over all source files in a `cmMakefile`. If a path error appears, the file is silently ignored. If the file is part of the target's sources, the path error will still be caught in the loop over all the target's sources. Closes #17573 Closes #17589
-
- 07 Dec, 2017 2 commits
-
-
Library dependencies of the origin target were forwarded to the _autogen target as source file dependencies. This is fixed by forwarding the dependencies as target dependencies instead. Issue: #17278
-
Revert the library target dependency forwarding to the `_autogen` target to the 3.9.6 way, only now using `GetLinkImplementationLibraries`. Fixes: #17278
-
- 20 Nov, 2017 1 commit
-
-
Some generators auto-generate targets. For example VS generators create the ALL_BUILD target. Add the ability to mark targets as generator provided and return that info through cmake-server codemodel.
-
- 19 Nov, 2017 6 commits
-
-
Sebastian Holtermann authored
-
Sebastian Holtermann authored
-
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.
-
Sebastian Holtermann authored
Remove the cmQtAutoGenDigest classes and make cmQtAutoGeneratorInitializer instantiable instead.
-
Sebastian Holtermann authored
Adds the new base class `cmQtAutoGenerator` which contains common variables and methods used by `cmQtAutoGeneratorMocUic` and `cmQtAutoGeneratorRcc`.
-
Sebastian Holtermann authored
Instead of processing all `rcc` invocation requests in the _autogen target that calls `cmake -E cmake_autogen ...` once, use a dedicated custom command that calls `cmake -E cmake_autorcc ...` for each `.qrc` file. This allows parallel `.qrc` file processing and reduces the workload (and complexity) in the _autogen target. If only `AUTORCC` is enabled, the _autogen target won't be created at all since it is now used for `AUTOMOC` and `AUTOUIC` only. For `.qrc` files that are GENERATED a custom target is used instead of a custom command. Closes #17161
-