summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutoGenerators.h
Commit message (Collapse)AuthorAgeFilesLines
* Simplify CMake per-source license noticesBrad King2016-09-271-13/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | Per-source copyright/license notice headers that spell out copyright holder names and years are hard to maintain and often out-of-date or plain wrong. Precise contributor information is already maintained automatically by the version control tool. Ultimately it is the receiver of a file who is responsible for determining its licensing status, and per-source notices are merely a convenience. Therefore it is simpler and more accurate for each source to have a generic notice of the license name and references to more detailed information on copyright holders and full license terms. Our `Copyright.txt` file now contains a list of Contributors whose names appeared source-level copyright notices. It also references version control history for more precise information. Therefore we no longer need to spell out the list of Contributors in each source file notice. Replace CMake per-source copyright/license notice headers with a short description of the license and links to `Copyright.txt` and online information available from "https://cmake.org/licensing". The online URL also handles cases of modules being copied out of our source into other projects, so we can drop our notices about replacing links with full license text. Run the `Utilities/Scripts/filter-notices.bash` script to perform the majority of the replacements mechanically. Manually fix up shebang lines and trailing newlines in a few files. Manually update the notices in a few files that the script does not handle.
* fix a load of include-what-you-use violationsDaniel Pfeifer2016-09-031-3/+2
|
* make sure to include cmConfigure.h before cmStandardIncludes.hDaniel Pfeifer2016-09-031-0/+2
|
* QtAutogen: Allow multiple qrc files with the same nameSebastian Holtermann2016-08-101-1/+2
| | | | Use cmFilePathUuid for qrc files.
* QtAutogen: Allow multiple moc files with the same nameSebastian Holtermann2016-08-101-1/+2
| | | | | | Use cmFilePathUuid for moc files. Closes: #12873
* Autogen: Revert changes to generate moc/rcc in subdirectoriesBrad King2016-07-211-4/+1
| | | | | | | | | | | | | | | | | | | Revert these commits: * v3.6.0-rc1~134^2 Tests: QtAutogen: Same source name in different directories test, 2016-04-13 * v3.6.0-rc1~134^2~1 Autogen: Generate qrc_NAME.cpp files in subdirectories, 2016-04-19 * v3.6.0-rc1~134^2~2 Autogen: Generate not included moc files in subdirectories, 2016-04-19 They regress existing builds that depend on the paths/symbols generated previously. Another approach will be needed to solve the name collision problem they were intended to solve. Leave the error diagnostics for the colliding cases that were added in the same topic as the above commits because they provide a useful early failure in relevant cases. Fixes #16209.
* Revise C++ coding style using clang-formatKitware Robot2016-05-161-36/+40
| | | | | | | | | | | | | Run the `Utilities/Scripts/clang-format.bash` script to update all our C++ code to a new style defined by `.clang-format`. Use `clang-format` version 3.8. * 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.
* Format include directive blocks and ordering with clang-formatBrad King2016-04-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Sort include directives within each block (separated by a blank line) in lexicographic order (except to prioritize `sys/types.h` first). First run `clang-format` with the config file: --- SortIncludes: false ... Commit the result temporarily. Then run `clang-format` again with: --- SortIncludes: true IncludeCategories: - Regex: 'sys/types.h' Priority: -1 ... Commit the result temporarily. Start a new branch and cherry-pick the second commit. Manually resolve conflicts to preserve indentation of re-ordered includes. This cleans up the include ordering without changing any other style. Use the following command to run `clang-format`: $ git ls-files -z -- \ '*.c' '*.cc' '*.cpp' '*.cxx' '*.h' '*.hh' '*.hpp' '*.hxx' | egrep -z -v '(Lexer|Parser|ParserHelper)\.' | egrep -z -v '^Source/cm_sha2' | egrep -z -v '^Source/(kwsys|CursesDialog/form)/' | egrep -z -v '^Utilities/(KW|cm).*/' | egrep -z -v '^Tests/Module/GenerateExportHeader' | egrep -z -v '^Tests/RunCMake/CommandLine/cmake_depends/test_UTF-16LE.h' | xargs -0 clang-format -i This selects source files that do not come from a third-party. Inspired-by: Daniel Pfeifer <daniel@pfeifer-mail.de>
* Source: Stabilize include orderBrad King2016-04-291-0/+2
| | | | | Each source file has a logical first include file. Include it in an isolated block so that tools that sort includes do not move them.
* Autogen: Message cleanups: Compose messages in std::stringstreamSebastian Holtermann2016-04-251-1/+4
| | | | | To avoid Race conditions with other processes writing to stdout/stderr compose the whole message in a std::stringstream then submit the single complete message.
* Autogen: Generate not included moc files in subdirectories (#12873)Sebastian Holtermann2016-04-221-1/+4
| | | | | | | Not included moc files generated from a source file in CMAKE_CURRENT_SOURCE_DIR/SUBDIR will be generated in the directory CMAKE_CURRENT_BINARY_DIR/TARGETNAME_automoc.dir/SUBDIR/
* Autogen: Check added for name collisions of generated moc filesSebastian Holtermann2016-04-221-0/+5
| | | | | The test exits with an error if two or more source files would generate the same moc file.
* Autogen: Qrc processing: Generate single map with final input / output namesSebastian Holtermann2016-04-191-0/+2
|
* Autogen: Ui processing: Generate single map with final input / output namesSebastian Holtermann2016-04-191-1/+3
| | | | The single map allows name collision testing (in a later commit)
* Autogen: Split out UI file generation code to dedicated methodSebastian Holtermann2016-04-191-0/+2
|
* Autogen: Split out moc file generation code to dedicated methodSebastian Holtermann2016-04-191-0/+4
|
* Autogen: Rename method GenerateQrc{ => Files}Sebastian Holtermann2016-04-191-1/+1
|
* Autogen: New logCommand method. It prints commands using std::cout.Sebastian Holtermann2016-04-191-0/+1
|
* Autogen: Rename header extension Join method to JoinExtsSebastian Holtermann2016-04-191-1/+1
| | | | While at it, simplify the signature and avoid a trailing separator.
* Autogen: Use SystemTools string functions instead of rolling out ownSebastian Holtermann2016-04-191-2/+0
|
* QtAutogen: Split initializer class into separate file.Stephen Kelly2015-09-291-41/+0
|
* QtAutogen: Split initializer methods into separate class.Stephen Kelly2015-09-261-15/+21
|
* QtAutogen: Add _automoc.cpp sources before initializing.Stephen Kelly2015-09-261-0/+1
|
* QtAutogen: Move initialization condition to caller.Stephen Kelly2015-09-261-1/+1
|
* QtAutogen: Make some methods static.Stephen Kelly2015-09-261-11/+11
|
* QtAutogen: Make internal method private.Stephen Kelly2015-09-261-1/+2
|
* QtAutogen: Don't use members to initialize automoc targets.Stephen Kelly2015-09-261-0/+5
|
* QtAutogen: Don't use a member to store skipped uic files.Stephen Kelly2015-09-261-1/+3
|
* QtAutogen: Add missing includes and forward declarations.Stephen Kelly2015-09-261-0/+5
|
* cmGlobalGenerator: Create cmGeneratorTargets before QtAutomoc.Stephen Kelly2015-07-271-1/+2
| | | | Add cmGeneratorTargets as needed in the QtAutomoc processing.
* cmQtAutoGenerators: Re-arrange data layout.Stephen Kelly2015-06-071-2/+1
| | | | Size goes from 920 to 912 bytes.
* cmStandardIncludes: Remove list include.Stephen Kelly2015-02-061-0/+2
| | | | Include it only where used.
* QtAutogen: Regenerate qrc files if their input changes (#15074)Stephen Kelly2014-10-241-0/+10
| | | | | | | | | | | | | | | | | 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.
* QtAutogen: Expand rccfiles into a vector early in the autogen process.Stephen Kelly2014-10-231-1/+1
| | | | This can be re-used as a vector.
* QtAutogen: Extract a GetRccExecutable method.Stephen Kelly2014-10-231-0/+2
|
* Merge topic 'autogen-fixes'Brad King2014-09-221-12/+12
|\ | | | | | | | | | | e3c97a19 QtAutogen: Process all ui files in a source file (#14981). b8877b1d QtAutogen: Add source files to target when only AUTORCC is used.
| * QtAutogen: Process all ui files in a source file (#14981).Stephen Kelly2014-09-181-12/+12
| | | | | | | | | | Use a vector to store a list of matched ui_ includes, instead of overwriting the previous match.
* | QtAutogen: Put generated qrc files in a target-specific dir.Stephen Kelly2014-04-181-0/+1
| |
* | Merge topic 'fix-Qt-Autogen'Brad King2014-03-261-1/+1
|\ \ | |/ | | | | | | | | 71a11252 QtAutogen: Fix use of multiple ui files in a single target. 261acd91 QtAutogen: Use the basename for resource files.
| * QtAutogen: Fix use of multiple ui files in a single target.Stephen Kelly2014-03-251-1/+1
| | | | | | | | | | | | Don't store a mapping of the directory to the ui file. The directory will be a unique key, allowing only one ui file to be specified. Use the source file name instead as the mapping key.
* | stringapi: Use strings for directoriesBen Boeckel2014-03-081-4/+4
| |
* | stringapi: Pass configuration names as stringsBen Boeckel2014-03-081-2/+2
|/
* QtAutogen: Make uic work even when the source is in a subdir.Stephen Kelly2014-02-041-6/+6
| | | | | | Modify the includedUis to store the path to the file which includes the ui file. Reuse that path to generate the output file from the uic process.
* QtAutogen: Separate source file processing from AUTOMOC.Stephen Kelly2014-01-281-1/+1
| | | | This will allow using AUTOUIC without using AUTOMOC for example.
* QtAutogen: Make some methods appropriately file-static.Stephen Kelly2014-01-281-4/+0
|
* Constify autogen handling.Stephen Kelly2013-12-111-4/+4
|
* Autogen: Split AutoRcc handling into two methodsStephen Kelly2013-12-111-0/+1
| | | | | The initialize method changes the target, whereas the setup method does not.
* QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property.Stephen Kelly2013-11-271-1/+2
| | | | | | | | | | | | | | | | | | | | Transitively consume the property from linked dependents. Implement configuration-specific support by following the pattern set out for compile definitions and includes in cmQtAutoGenerators. Implement support for origin-tracking with CMAKE_DEBUG_TARGET_PROPERTIES. This is motivated by the needs of KDE, which provides a separate translation system based on gettext instead of the Qt linguist translation system. The Qt uic tool provides command line options for configuring the method used to translate text, and to add an include directive to the generated file to provide the method. http://thread.gmane.org/gmane.comp.kde.devel.frameworks/7930/focus=7992 Implement the interface to provide the uic options as a usage-requirement on the KI18n target, as designed for KDE.
* cmAutogen: Rename method to InitializeAutogenTargetStephen Kelly2013-11-051-1/+1
| | | | This reflects better what it is doing.
* Add automatic rcc invocation for Qt.Stephen Kelly2013-10-241-0/+9
| | | | | This replaces the need to invoke qt4_add_resources by allowing adding the source .qrc file directly to the target sources.