summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutoGenerators.h
Commit message (Collapse)AuthorAgeFilesLines
* Autogen: Rename cmQtAutoGenerators to cmQtAutoGeneratorMocUicSebastian Holtermann2017-11-191-228/+0
|
* Autogen: Remove rcc code from cmQtAutoGeneratorsSebastian Holtermann2017-11-191-21/+1
|
* Autogen: Reintroduce per-config sources supportSebastian Holtermann2017-09-251-1/+2
| | | | 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-1/+1
|
* Autogen: Refactor cmQtAutoGeneratorsSebastian Holtermann2017-09-201-126/+113
| | | | | | | | | | | | | | | | | | | | 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.
* Autogen: Set CM_DISABLE_COPY in cmQtAutoGeneratorsSebastian Holtermann2017-09-071-0/+1
|
* Autogen: Refactor loggingSebastian Holtermann2017-09-071-10/+27
|
* Autogen: More use of scoped lambdasSebastian Holtermann2017-09-071-0/+1
|
* Autogen: Use list of lists functions for UIC optionsSebastian Holtermann2017-09-071-1/+1
|
* Autogen: Pass RCC build names and function names in info fileSebastian Holtermann2017-09-071-5/+11
| | | | | | | | | - 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: Use single KeyRegExp filter structSebastian Holtermann2017-09-071-7/+20
|
* Autogen: Use the same algorithm for RCC and UIC option mergingSebastian Holtermann2017-09-071-1/+0
|
* Autogen: Iterate source files only onceSebastian Holtermann2017-09-071-3/+4
| | | | | | | | | | | | | | 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-12/+12
|
* Use C++11 nullptrDaniel Pfeifer2017-08-241-1/+1
|
* Autogen: Add AUTOMOC_MACRO_NAMES supportSebastian Holtermann2017-08-181-1/+1
| | | | Closes #17176
* Autogen: Restore AUTOUIC lookup paths from 3.8.2Sebastian Holtermann2017-08-151-1/+2
| | | | | | | | | | | | | | | | | | 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: Per-config file suffixes. New AUTOGEN_BUILD_DIR target property.Sebastian Holtermann2017-05-261-9/+9
| | | | | Closes #14760 Closes #14313
* Autogen: Pass build directory in Info fileSebastian Holtermann2017-05-261-1/+1
|
* Autogen: Generate moc_predefs.h only on demandSebastian Holtermann2017-04-221-0/+1
|
* Autogen: Add FileDiffers and FileWrite methodsSebastian Holtermann2017-04-221-0/+4
|
* Autogen: MakeParentDirectory logPrefix parameterSebastian Holtermann2017-04-221-1/+2
|
* Autogen: Determine settings file name only onceSebastian Holtermann2017-04-221-3/+3
|
* Autogen: Overhaul class variable names and sortingSebastian Holtermann2017-04-221-41/+38
|
* Merge topic 'autogen-fixes'Brad King2017-04-211-2/+6
|\ | | | | | | | | | | | | 09035319 Autogen: Pass explicit predefines header to moc if possible Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !671
| * Autogen: Pass explicit predefines header to moc if possibleAleix Pol2017-04-201-2/+6
| | | | | | | | | | | | | | | | | | | | | | Qt is relying on whoever calls moc to include a file with the predefined values that will be used by the compiler, otherwise moc takes wrong paths and weird things happen. Instead, generate an include file and feed it to all mocs to make sure it's generating correct code. Co-Author: Sebastian Holtermann <sebholt@xwmw.org> Fixes: #16640
* | Use quotes for non-system includesDaniel Pfeifer2017-04-111-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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'
* | cmConfigure: Ensure separate include block in headersDaniel Pfeifer2017-04-111-0/+1
|/ | | | | | | | | | | Make sure that `#include <cmConfigure.h>` is followed by an empty line in header files. This is necessary to make sure that changing <> to "" does not affect the include ordering of clang-format. Automate with: git grep -l '#include <cmConfigure.h>' | grep -v '.cxx$' \ | xargs sed -i '/#include <cmConfigure.h>/ { N; N; s/\n\{1,2\}/\n\n/ }'
* Autogen: Add RunCommand method with built in loggingSebastian Holtermann2017-03-061-0/+2
|
* Autogen: Error return when a scan file is not readableSebastian Holtermann2017-03-061-1/+1
|
* Autogen: Rename and merge moc related methodsSebastian Holtermann2017-03-021-7/+5
|
* Autogen: Add AUTOUIC_SEARCH_PATHS supportSebastian Holtermann2017-03-021-0/+3
| | | | Closes #15227
* Autogen: Add subDirPrefix functionSebastian Holtermann2017-03-021-1/+1
|
* Autogen: Merge FindInIncludeDirectories into FindIncludeFileSebastian Holtermann2017-03-011-3/+2
|
* Autogen: Add AUTOMOC_DEPEND_FILTERS supportSebastian Holtermann2017-02-221-0/+1
|
* Autogen: Log simplificationsSebastian Holtermann2017-02-211-2/+2
| | | | | The logging methods now automatically add an end-of-line to the message if it is missing.
* Autogen: Rebuild moc when Q_PLUGIN_METADATA json file changesSebastian Holtermann2017-02-211-19/+43
| | | | Closes #15419
* Autogen: Search moc includes in include directoriesSebastian Holtermann2017-02-211-3/+5
|
* Autogen: Add FindInIncludeDirectories methodSebastian Holtermann2017-02-211-0/+2
|
* Autogen: Synchronize header/source argument namesSebastian Holtermann2017-02-211-10/+10
|
* Autogen: Split moc include paths on info readingSebastian Holtermann2017-02-211-1/+1
|
* Autogen: Loop based macro detection instead of code duplicationSebastian Holtermann2017-02-211-3/+5
|
* Autogen: Acquire and store header extensions in Init()Sebastian Holtermann2017-02-211-17/+12
|
* Autogen: Overhaul FindMatchingHeader functionSebastian Holtermann2017-02-211-0/+7
|
* Autogen: Rename moc related variablesSebastian Holtermann2017-02-211-3/+3
|
* Autogen: Overhaul moc include list generationSebastian Holtermann2017-02-211-2/+1
|
* Autogen: Move method declarations; Remove commentsSebastian Holtermann2017-02-191-10/+10
|
* Autogen: Rename SkipFoo variables/methods to FooSkipSebastian Holtermann2017-02-191-4/+4
|
* Autogen: Split moc options info string immediatelySebastian Holtermann2017-02-191-1/+0
|