summaryrefslogtreecommitdiff
path: root/Source/cmQtAutoGenerators.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Autogen: Rename cmQtAutoGenerators to cmQtAutoGeneratorMocUicSebastian Holtermann2017-11-191-2045/+0
|
* Autogen: Remove rcc code from cmQtAutoGeneratorsSebastian Holtermann2017-11-191-287/+0
|
* Fix trivial typos in textluzpaz2017-11-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Some are user facing. Found using codespell -q 3 --skip="./Utilities" -I .cmake-whitelist.txt` whereby the whitelist contained: ans dum helpfull emmited emmitted buil iff isnt nto ot pathes substract te todays upto whitespaces
* Autogen: Don't use AUTOMOC_MOC_OPTIONS in moc-predefs commandSebastian Holtermann2017-10-311-3/+7
| | | | Closes #17418
* Autogen: Make rcc output file suffix static (instead of pseudo-random)Sebastian Holtermann2017-10-301-2/+2
|
* Autogen: RCC: Append checksum suffix to wrapped file nameSebastian Holtermann2017-10-291-5/+15
| | | | Closes #17404
* Autogen: Define all macro names in CMAKE_AUTOMOC_MACRO_NAMESSebastian Holtermann2017-09-271-7/+1
| | | | | | | | | Instead of adding `Q_OBJECT` and `Q_GADGET` to the macro search list in `Source/cmQtAutoGenerators.cxx`, add them in `Modules/CMakeGenericSystem.cmake` to the default value of `CMAKE_AUTOMOC_MACRO_NAMES`. Also add `Q_NAMESPACE` to `CMAKE_AUTOMOC_MACRO_NAMES` which closes #17299.
* Autogen: Reintroduce per-config sources supportSebastian Holtermann2017-09-251-35/+53
| | | | Reintroduce per-config sources support in AUTOGEN but disable it by default.
* Autogen: Rename cmQtAutoGen::GeneratorType to cmQtAutogen::GeneratorSebastian Holtermann2017-09-251-9/+9
|
* Autogen: In VERBOSE mode print why files are (re)generatedSebastian Holtermann2017-09-201-43/+220
|
* Autogen: Refactor cmQtAutoGeneratorsSebastian Holtermann2017-09-201-974/+1043
| | | | | | | | | | | | | | | | | | | | The refactoring of cmQtAutoGenerators serializes the program flow and makes it less jumpy in terms of function calling. Instead of keeping and passing multiple std::vectors and std::maps in function arguments, single lists with job descriptions are used, one job list for MOC, UIC, RCC respectively. Several utility functions and methods were replaced with scoped lambdas and the remaining methods were sorted by their scope (MOC, UIC, RCC). Error and warning messages were refactored to be more verbose about the problem at hand. The source parsing algorithms were rewritten in large parts. In the process a lack of functionality of CMAKE_AUTOMOC_DEPEND_FILTERS was discovered and fixed. CMAKE_AUTOMOC_DEPEND_FILTERS did not extract dependency file names from headers that were not in the target sources but were registered to AUTOMOC by a `#include "moc_<NAME>.cpp"` statement. A test for this use case is provided in a follow up commit.
* Meta: modernize old-fashioned loops to range-based `for`.Pavel Solodovnikov2017-09-121-42/+33
| | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* Autogen: Replace CM_AUTO_PTR with std::unique_ptrSebastian Holtermann2017-09-071-6/+5
|
* Autogen: Refactor loggingSebastian Holtermann2017-09-071-248/+339
|
* Autogen: More use of scoped lambdasSebastian Holtermann2017-09-071-118/+95
|
* Autogen: Use scoped lambdas intead of named functionsSebastian Holtermann2017-09-071-29/+26
|
* Autogen: Touch moc_predefs.h when it's content didn't changeSebastian Holtermann2017-09-071-0/+7
|
* Autogen: Use list of lists functions for UIC optionsSebastian Holtermann2017-09-071-44/+24
|
* Autogen: Pass RCC build names and function names in info fileSebastian Holtermann2017-09-071-133/+86
| | | | | | | | | - The output file name of the `rcc` command get computed once in the AUTOGEN initializer and is passed in the info file. - The function name for the `-name` option of `rcc` gets computed once in the AUTOGEN initializer and is passed along with the other `rcc` options in the info file.
* Autogen: Add functions to read/write a list of listsSebastian Holtermann2017-09-071-0/+37
|
* Autogen: Use single KeyRegExp filter structSebastian Holtermann2017-09-071-19/+19
|
* Autogen: Use the same algorithm for RCC and UIC option mergingSebastian Holtermann2017-09-071-37/+2
|
* Autogen: Replace cmsys::SystemTools:: with cmSystemTools::Sebastian Holtermann2017-09-071-25/+25
|
* Autogen: Iterate source files only onceSebastian Holtermann2017-09-071-180/+120
| | | | | | | | | | | | | | This is a large commit that serves multiple purposes - Iterate source files only once and store all extracted information in a cmQtAutogenDigest class that can be reused. This is brings speed improvements because several properties are only evaluated once. More that that it helps to avoid duplication of code with non trivial files property checks. - Fix the Visual Studio generator to use PRE_BUILD when possible. - Convert `for( ... )` loops to C++11 range base loops where possible (cmQtAutogen*.cxx only). - String concatenation optimizations.
* clang-format: format all code as Cpp11Daniel Pfeifer2017-08-301-17/+17
|
* IWYU: Mark cmConfigure.h with pragma: keepDaniel Pfeifer2017-08-261-1/+0
| | | | Also remove `#include "cmConfigure.h"` from most source files.
* Use C++11 nullptrDaniel Pfeifer2017-08-241-8/+8
|
* Autogen: Add AUTOMOC_MACRO_NAMES supportSebastian Holtermann2017-08-181-9/+19
| | | | Closes #17176
* Merge branch 'backport-autogen-autouic-lookup' into autogen-autouic-lookupBrad King2017-08-151-20/+49
|\
| * Autogen: Restore AUTOUIC lookup paths from 3.8.2Sebastian Holtermann2017-08-151-20/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When encountering an `#include "<PATH>ui_<BASE>.h"` statement, search for `<BASE>.ui` in - <SOURCE_DIR>/<BASE>.ui - <SOURCE_DIR>/<PATH><BASE>.ui - <AUTOUIC_SEARCH_PATH>/<BASE>.ui - <AUTOUIC_SEARCH_PATH>/<PATH><BASE>.ui In CMake 3.8.2 the lookup list was - <SOURCE_DIR>/<BASE>.ui In CMake 3.9.[01] the lookup list was - <SOURCE_DIR>/<PATH><BASE.ui> - <AUTOUIC_SEARCH_PATH>/<PATH><BASE>.ui Closes #17168
* | Autogen: Only print Qt Autogenerator messages when verboseMatthias Kuhn2017-08-121-6/+18
| | | | | | | | | | | | | | Unconditionally printing these messages prevents ninja builds from filtering successful commands and only show errors and warnings. Fix #17157
* | Merge topic 'autogen-create-include-dir'Brad King2017-08-101-0/+11
|\ \ | |/ | | | | | | | | | | 6a0605c7 Autogen: Always create AUTOMOC/AUTOUIC include directory Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1113
| * Autogen: Always create AUTOMOC/AUTOUIC include directorySebastian Holtermann2017-08-081-0/+11
| | | | | | | | | | | | | | | | The **AUTOGEN** include directory was always passed to the compiler but only generated on demand. To avoid compiler complaints when using `-Wmissing-include-dirs` make sure the directory gets created always. Closes #17147
* | Autogen: Generate rcc wrapper file on demandSebastian Holtermann2017-08-051-1/+35
| | | | | | | | | | | | | | | | | | | | | | For multi configuration generators remove per-config qrc_FOO_$<CONFIG>.cpp source file support. Instead use a single source file qrc_FOO.cpp which is a wrapper that includes the actual rcc generated qrc_FOO_CONFIG.cpp file. This way, after a repeated configuration change, only the wrapper file qrc_FOO.cpp must be regenerated to include the appropriate qrc_FOO_CONFIG.cpp file.
* | Autogen: Fix configuration suffix initializationSebastian Holtermann2017-08-051-3/+3
| | | | | | | | The configuration suffix was used before it was initialized.
* | Autogen: Add per-config suffix to moc_predefs.hSebastian Holtermann2017-08-051-1/+3
| | | | | | | | | | moc_predefs.h is generated using per-config -D definitions and therefore must be configuration specific as well.
* | Autogen: Remove per-config suffix for mocs_compilations.cppSebastian Holtermann2017-08-051-5/+3
| |
* | Merge topic 'autogen_skip_included'Brad King2017-07-111-28/+33
|\ \ | |/ | | | | | | | | | | ecac50e1 Autogen: Skip included files on demand Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1039
| * Autogen: Skip included files on demandSebastian Holtermann2017-07-101-28/+33
| |
| * Merge branch 'autogen_p' into release-3.9Brad King2017-07-051-1/+0
| |\
* | \ Merge topic 'autogen_p'Brad King2017-07-061-1/+0
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 251bcbed Autogen: Continue search for FOO_p.h when FOO.h was found Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1022
| * | Autogen: Continue search for FOO_p.h when FOO.h was foundSebastian Holtermann2017-07-021-1/+0
| | |
* | | Merge topic 'autogen-header-skip'Brad King2017-07-051-1/+1
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 83d8acee Autogen: Check .moc header name against SKIP list Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1017
| * | Autogen: Check .moc header name against SKIP listSebastian Holtermann2017-06-301-1/+1
| |/ | | | | | | | | | | When encountering an #include "FOO.moc" statement where FOO.hpp was chosen over FOO.cpp as the moc source, the FOO.hpp name was not checked against the moc SKIP list.
* | Autogen: Check for Q_OBJECT/Q_GADGET after braceSebastian Holtermann2017-06-201-2/+4
|/ | | | Closes #16971
* Autogen: Per-config file suffixes. New AUTOGEN_BUILD_DIR target property.Sebastian Holtermann2017-05-261-59/+83
| | | | | Closes #14760 Closes #14313
* Autogen: Pass build directory in Info fileSebastian Holtermann2017-05-261-16/+16
|
* Autogen: Add -DWIN32 to definitions list on demandSebastian Holtermann2017-05-131-6/+8
|
* Autogen: Include moc/uic/rcc binary in settings hashSebastian Holtermann2017-05-131-8/+15
|
* cmake: initialize with Role that controls which commands to registerDaniel Pfeifer2017-05-081-1/+1
|