Commit Graph

22 Commits

Author SHA1 Message Date
Sebastian Holtermann
37ef18a468 Autogen: Pass RCC build names and function names in info file
- 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.
2017-09-07 17:53:19 +02:00
Sebastian Holtermann
d1e5eb8497 Autogen: Iterate source files only once
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.
2017-09-07 17:53:18 +02:00
Sebastian Holtermann
cf7b3b9671 Autogen: Initializer optimizations and cleanups 2017-08-22 17:13:59 +02:00
Sebastian Holtermann
93f0ba2823 Autogen: Add AUTOMOC_MACRO_NAMES support
Closes #17176
2017-08-18 12:32:04 +02:00
Sebastian Holtermann
dbda590628 Autogen: Per-config file suffixes. New AUTOGEN_BUILD_DIR target property.
Closes #14760
Closes #14313
2017-05-26 15:27:17 +02:00
Sebastian Holtermann
0965002e57 Autogen: Pass build directory in Info file 2017-05-26 15:23:21 +02:00
Aleix Pol
0903531964 Autogen: Pass explicit predefines header to moc if possible
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
2017-04-20 08:59:07 -04:00
Sebastian Holtermann
3bf28f5ed0 Autogen: New short InfoGet functions 2017-03-02 09:10:03 -05:00
Sebastian Holtermann
1cdf7c1be2 Autogen: Add AUTOUIC_SEARCH_PATHS support
Closes #15227
2017-03-02 09:10:01 -05:00
Sebastian Holtermann
70ebf35cda Autogen: Add AUTOMOC_DEPEND_FILTERS support 2017-02-22 21:13:48 +01:00
Sebastian Holtermann
9d1db7d7c3 Autogen: Overhaul and simplify AutogenInfo.cmake file generation 2017-02-21 10:38:50 -05:00
Sebastian Holtermann
754d431813 Autogen: Sort AutogenInfo.cmake.in
Also rename AM_SKIP_MOC to AM_MOC_SKIP
and AM_SKIP_UIC to AM_UIC_SKIP
2017-02-21 10:38:49 -05:00
Sebastian Holtermann
e7280a7f17 AUTOGEN: Rename config variables
The new names describe the variables use cases better.
2017-01-10 12:49:15 +01:00
Sebastian Holtermann
9d9c68e21a QtAutogen: Rename variable templates in config template 2016-12-06 15:59:27 +01:00
Sebastian Holtermann
48180401d3 QtAutogen: Rename config AM_RELAXED_MODE to AM_MOC_RELAXED_MODE 2016-12-06 15:59:26 +01:00
Stephen Kelly
6e1c359fe9 QtAutogen: Regenerate qrc files if their input changes (#15074)
Get dependencies from the output of ``rcc --list`` if using
Qt 5.  Otherwise process the file in the same way as the
qt4_add_resources macro.

This does not work for RCC files which are generated.

The cmake_autogen build step is implemented as a PRE_BUILD step
of the target currently if possible, rather than a standalone
custom target.  This is to keep the number of (synthesized)
custom targets that appear in the UI low, but in some cases
it is necessary to fall back to a full custom target.

Fall back to a full custom target for the VS builds if autorcc
is used.
2014-10-24 19:45:27 +02:00
Stephen Kelly
33774ca201 QtAutogen: Put generated qrc files in a target-specific dir. 2014-04-18 16:41:13 +02:00
Stephen Kelly
4b989d5f15 QtAutogen: Separate source file processing from AUTOMOC.
This will allow using AUTOUIC without using AUTOMOC for example.
2014-01-28 21:04:40 +01:00
Stephen Kelly
9c87d9cc3e Add automatic rcc invocation for Qt.
This replaces the need to invoke qt4_add_resources by allowing
adding the source .qrc file directly to the target sources.
2013-10-24 12:30:41 +02:00
Stephen Kelly
84218e1870 Add automatic uic invocation for Qt.
The source files are already processed by cmQtAutomoc to look for
moc includes, so extend that to also look for ui_ includes and
find corresponding .ui files to process.

This replaces the need to invoke qt4_wrap_ui().

As the ui files are not likely to be part of the SOURCES of the
target, store the options associated with them separately in the
cmMakefile for querying during the autogen run.
2013-10-24 12:30:38 +02:00
Stephen Kelly
94a0ca604c Record which files are skipped by automoc.
They may not be skipped by autouic.
2013-10-24 11:50:58 +02:00
Stephen Kelly
ca124a1515 Rename the AutomocInfo.cmake file to be more generic. 2013-10-24 11:50:57 +02:00