summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutoGeneratorInitializer.cxx
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'ranged-for'Brad King2017-09-131-11/+11
|\ | | | | | | | | | | | | 7d509579 Meta: modernize old-fashioned loops to range-based `for`. Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1249
| * Meta: modernize old-fashioned loops to range-based `for`.Pavel Solodovnikov2017-09-121-11/+11
| | | | | | | | | | | | Changes done via `clang-tidy` with some manual fine-tuning for the variable naming and `auto` type deduction where appropriate.
* | Use cmMakefile::GetOrCreateSourceGroup in cmQtAutogeneratorsInitializerSebastian Holtermann2017-09-091-14/+1
|/
* Autogen: Smarter target dependency computationSebastian Holtermann2017-09-071-72/+97
|
* Autogen: More use of scoped lambdasSebastian Holtermann2017-09-071-35/+28
|
* Autogen: More use of scoped lambdasSebastian Holtermann2017-09-071-16/+11
|
* Autogen: Use list of lists functions for UIC optionsSebastian Holtermann2017-09-071-4/+5
|
* Autogen: Pass RCC build names and function names in info fileSebastian Holtermann2017-09-071-45/+61
| | | | | | | | | - 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/+16
|
* Autogen: Use the same algorithm for RCC and UIC option mergingSebastian Holtermann2017-09-071-41/+1
|
* Autogen: Replace cmsys::SystemTools:: with cmSystemTools::Sebastian Holtermann2017-09-071-6/+6
|
* Autogen: Iterate source files only onceSebastian Holtermann2017-09-071-415/+369
| | | | | | | | | | | | | | 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-2/+2
|
* 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-25/+25
|
* Autogen: Don't use cmMakefile::GetQtUiFilesWithOptionsSebastian Holtermann2017-08-221-19/+19
| | | | | The purpose of this patch is to allow later removal of AUTOGEN specific variables in cmMakefile and cmSourceFile.
* Autogen: Read skip files from makefileSebastian Holtermann2017-08-221-32/+58
| | | | | | | | | This allows to pass SKIP_AUTOMOC hints to the FOO_autogen target from files that are not listed in the target sources. The problem was that if main.cpp was listed in the source but not main.h, then SKIP_AUTOMOC for main.h was ignored.
* Autogen: Remove VS specific code exclusionSebastian Holtermann2017-08-221-31/+25
| | | | | | The amount of disabled code was small. Also the #ifdef tests were confusing and made testing on non Windows machines more difficult.
* Autogen: Initializer file type scanning optimizationsSebastian Holtermann2017-08-221-73/+91
|
* Autogen: Initializer optimizations and cleanupsSebastian Holtermann2017-08-221-209/+214
|
* Autogen: Add AUTOMOC_MACRO_NAMES supportSebastian Holtermann2017-08-181-0/+2
| | | | Closes #17176
* Autogen: Merge and remove redundant function callsSebastian Holtermann2017-08-101-20/+10
|
* Autogen: Clear sources meta data cacheSebastian Holtermann2017-08-101-0/+6
| | | | | | | | | | | | | | | | | Adds cmGeneratorTarget::clearSourcesCache() which clears the cache of precomputed sources lists and object names. The cache gets recomputed on demand. Clearing the cache is necessary in case an OBJECT library gets a source added after a target (ORIGIN) that includes it computed it's external sources cache. This may happen in AUTOMOC when ORIGIN is processed before the OBJECT library which gets a mocs_compilation.cpp file added. Closes #17152 Closes #17139 Closes #17085 Closes #15967
* Autogen: Enable per-config supportSebastian Holtermann2017-08-051-10/+0
| | | | | | | Enables the AUTOGEN per-config include directories and wrapper sources for multi configuration generators. Closes #16460
* Autogen: Generate rcc wrapper file on demandSebastian Holtermann2017-08-051-19/+10
| | | | | | | | | | | 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-6/+4
| | | | The configuration suffix was used before it was initialized.
* Autogen: Remove per-config suffix for mocs_compilations.cppSebastian Holtermann2017-08-051-24/+6
|
* Autogen: Forward target dependencies to *_autogen targetSebastian Holtermann2017-07-281-12/+33
| | | | | | | | | Only the dependecies from target_link_libraries() of the origin target were forwarded to the _autogen target. This patch adds forwarding of the dependencies from add_dependencies() to the _autogen target. Closes #17094
* Autogen: Process GENERATED files. Add CMP0071.Sebastian Holtermann2017-07-181-9/+35
| | | | | | | | | | This lets AUTOMOC and AUTOUIC process GENERATED files which used to be ignored before. A new policy CMP0071 ensures that the old behavior of ignoring GENERATED files is enabled when the CMake compatibility version CMAKE_MINIMUM_REQUIRED is < 3.10. Closes #16186
* Autogen: Skip generated files for compatibility with CMake 3.8Brad King2017-07-071-0/+7
| | | | | | | | | | | | | | | | The change in commit v3.9.0-rc1~464^2~8 (Autogen: Add AUTOMOC/UIC support for generated source files, 2017-03-02) changes behavior of existing projects that may not expect `AUTOGEN` on generated files and do not yet set `SKIP_AUTOGEN` on them. Disable the behavior change for now to fix the regression for CMake 3.9. We can restore it later with a policy. In order to keep the implementation and tests working, add an undocumented property we can use in the tests to enable the behavior before the policy is introduced. Fixes: #17031 Issue: #16186
* Autogen: Do not use per-config file suffixes with VS yetBrad King2017-06-071-0/+4
| | | | | | | | | The change in commit v3.9.0-rc1~42^2~1 (Autogen: Per-config file suffixes, 2017-05-15) broke Visual Studio builds because the generators do not yet fully support per-config sources. Disable the behavior on Visual Studio generators for now. Fixes: #16939
* cmQtAutoGeneratorInitializer: Remove unused local variableBrad King2017-05-301-2/+0
|
* Merge topic 'reduce-string-copying'Brad King2017-05-281-1/+1
|\ | | | | | | | | | | | | | | | | | | | | 2c2bb5f5 Remove unnecessary operator<< usage 1e4e2f99 Remove unused variables 25486156 Improved checking for number of arguments passed 86dc86dd Add const-reference qualifications 76bdb407 Change std::basic_string<char> to std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !886
| * Add const-reference qualificationsPavel Solodovnikov2017-05-261-1/+1
| |
* | Autogen: Per-config file suffixes. New AUTOGEN_BUILD_DIR target property.Sebastian Holtermann2017-05-261-141/+235
| | | | | | | | | | Closes #14760 Closes #14313
* | Autogen: Pass build directory in Info fileSebastian Holtermann2017-05-261-5/+7
|/
* Merge topic 'autogen-fixes'Brad King2017-04-211-0/+41
|\ | | | | | | | | | | | | 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-0/+41
| | | | | | | | | | | | | | | | | | | | | | 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
* | cmGlobalVisualStudioGenerator: Drop VS7 enumeration valueBrad King2017-04-191-2/+2
| | | | | | | | | | We no longer support the VS 7.0 (.NET 2002) IDE, so drop the enumeration value corresponding to its version.
* | Use quotes for non-system includesDaniel Pfeifer2017-04-111-2/+2
|/ | | | | | | | | | | | | 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'
* Add self-sufficient wrapper for <sys/stat.h>Daniel Pfeifer2017-03-241-1/+1
|
* Autogen: include what you useDaniel Pfeifer2017-03-231-5/+1
|
* Autogen: Add AUTOGEN_SOURCE_GROUP supportSebastian Holtermann2017-03-161-6/+67
| | | | Closes: #16501
* Autogen: Add AUTOMOC/UIC support for generated source filesSebastian Holtermann2017-03-061-92/+122
| | | | | Closes #16186 Closes #14379
* Autogen: Initializer cleanupsSebastian Holtermann2017-03-061-73/+70
|
* Autogen: Add support for generated .qrc filesSebastian Holtermann2017-03-061-4/+11
|
* Autogen: Embrace qrc file lists in braces in AutogenInfo.cmakeSebastian Holtermann2017-03-061-2/+3
| | | | This allows empty .qrc files in any list position.
* Autogen: Remove unused variablesSebastian Holtermann2017-03-061-3/+0
|
* Autogen: Add cmQtAutogeneratorCommon class with shared types and functionsSebastian Holtermann2017-03-061-162/+24
|
* Autogen: New short InfoGet functionsSebastian Holtermann2017-03-021-1/+1
|