summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutoGenerators.cxx
Commit message (Collapse)AuthorAgeFilesLines
* cmGlobalGenerator: Require a cmake instance in ctor.Stephen Kelly2015-05-271-2/+1
| | | | It is required anyway, so this makes it explicit.
* Merge topic 'clean-up-CMAKE_COMMAND'Brad King2015-05-211-1/+1
|\ | | | | | | | | 6fbd4cae Use cmSystemTools::GetCMakeCommand() to get path to cmake internally
| * Use cmSystemTools::GetCMakeCommand() to get path to cmake internallyBrad King2015-05-201-1/+1
| | | | | | | | | | This is much simpler than finding a way to lookup "CMAKE_COMMAND" everywhere.
* | QtAutogen: Create global generator on the stack.Stephen Kelly2015-05-191-6/+4
| |
* | QtAutogen: Use a more-obvious delete-target.Stephen Kelly2015-05-191-1/+1
| |
* | QtAutogen: Remove the need for a local makefile variable.Stephen Kelly2015-05-191-6/+3
| |
* | QtAutogen: Inline static factory method.Stephen Kelly2015-05-191-14/+7
| |
* | QtAutogen: Remove repeated setters.Stephen Kelly2015-05-191-3/+0
|/ | | | These methods are called already just before calling the static method.
* Merge topic 'clean-up-vs-generators'Brad King2015-05-191-4/+4
|\ | | | | | | | | | | | | dad8b03f VS: Remove obsolete methods. e435f875 VS: Move version information to global generator. b5f093f0 VS: Simplify setting of flag table.
| * VS: Move version information to global generator.Stephen Kelly2015-05-191-4/+4
| |
* | cmGlobalGenerator: Add NVI wrapper to create local generator.Stephen Kelly2015-05-161-1/+1
|/
* Port to cmMakefile::GetGlobalGenerator.Stephen Kelly2015-05-031-4/+3
|
* cmMakefile: Delegate storage of Home dirs to the cmake class.Stephen Kelly2015-04-281-2/+5
| | | | There is no need to duplicate these on every cmMakefile.
* Merge topic 'autogen-no-rcc-stderr'Brad King2015-04-221-24/+37
|\ | | | | | | | | | | 258ba828 QtAutogen: Process 'rcc --list' stdout and stderr separately (#15523) acd4f01f cmQtAutoGenerators: Split CR stripping out to helper function
| * QtAutogen: Process 'rcc --list' stdout and stderr separately (#15523)Brad King2015-04-211-18/+26
| | | | | | | | | | | | | | | | | | | | The stderr may have warning messages. We should not treat these lines as resource files. However, we must still recognize error message lines for missing resource files that may be generated. Extend the QtAutogen test to cover a generated resource as the only one listed in a .qrc file. This causes 'rcc --list' to print a warning to stderr that we now intend to ignore.
| * cmQtAutoGenerators: Split CR stripping out to helper functionBrad King2015-04-211-7/+12
| |
* | Merge topic 'clean-up-cmMakefile'Brad King2015-04-211-5/+5
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8dc3a67c cmMakefile: Out-of-line the directory methods. 0f3c8cfa cmMakefile: Use method abstraction to access directories. b288a997 cmMakefile: Rename SetStart* directory API to SetCurrent*. 932d53bc cmMakefile: Remove redundant method duplication. 32b8f03a cmMakefile: Port users of GetStart* methods to new names. 54d6a918 cmMakefile: Rename GetCurrent{Output,Binary}Directory. 55d80d0a cmMakefile: Rename GetCurrent{,Source}Directory. b23cf06f cmake: Remove redundant start directories. fcf246ac cmMakefile: Populate Home directories on initialize. 8878bea7 cmake: Initialize Home directories on cmake for find-package mode. 044dc815 Use the Home directories from the cmake class where intended. d67e8f24 cmake: Fix directory used to find the cache 1ea085d1 cmMakefile: Initialize dir definitions early. f034bb2f Remove redundant calls to MakeStartDirectoriesCurrent. 3a68c323 cmMakefile: Fix wrong parameter names.
| * cmMakefile: Port users of GetStart* methods to new names.Stephen Kelly2015-04-201-2/+2
| |
| * cmMakefile: Rename GetCurrent{Output,Binary}Directory.Stephen Kelly2015-04-201-3/+3
| | | | | | | | Match names used in CMake code.
* | cmSystemTools: Teach RunSingleCommand to separate stdout and stderrBrad King2015-04-201-4/+7
|/ | | | | | | Extend the RunSingleCommand signature to capture stdout and stderr separately. Allow both to be captured to the same std::string to preserve existing behavior. Update all call sites to do this so that this refactoring does not introduce functional changes.
* cmMakefile: Remove always-null first parameter to ReadListFile.Stephen Kelly2015-04-181-2/+2
|
* Merge topic 'ninja-autogen'Brad King2015-04-171-0/+7
|\ | | | | | | | | | | | | | | | | e8fdd5f1 QtAutogen: Workaround rcc CRCRLF newlines on Windows (#15459) 15f1a6b4 Tests/QtAutogen: Avoid touching files in the source tree 3f7c7c65 Tests/QtAutogen: Help Qt5Autogen test find Qt5 on Windows 26b5cc5e Tests/QtAutogen: Enable per-config source tests when possible 45566408 Tests/QtAutogen: Require CMake 3.1 to set policies everywhere
| * QtAutogen: Workaround rcc CRCRLF newlines on Windows (#15459)Brad King2015-04-161-0/+7
| | | | | | | | | | | | | | | | | | The 'rcc --list' operation may print newlines of the form CRCRLF, so strip any trailing CR characters found on each line. Update the Tests/QtAutogen test to use a resource named in a subdirectory. This causes 'rcc --list' to display a blank line and tests that it is correctly filtered out.
* | Port Global property interaction to cmState.Stephen Kelly2015-04-151-4/+5
|/
* QtAutogen: Fix rcc rebuild with Ninja generator (#15459)Brad King2015-03-271-3/+6
| | | | | | | | | | The rcc outputs are byproducts of the cmake_autogen rule, not outputs. We still must run cmake_autogen on every run even if the rcc outputs exist. Ninja requires explicit byproduct specification, which is now possible in CMake since commit v3.2.0-rc1~340^2~2 (Add an option for explicit BYPRODUCTS of custom commands, 2014-11-13). Revise the logic introduced by commit v3.2.0-rc1~480^2 (QtAutogen: Regenerate qrc files if their input changes, 2014-09-17) to specify byproducts explicitly.
* QtAutogen: Ensure write access to AutogenInfo.cmake (#15416)Justin Borodinsky2015-03-201-0/+14
| | | | | | ConfigureFile uses the input file permissions, but we require write access in cmQtAutoGenerators::SetupAutoGenerateTarget to append to the file.
* Include cmAlgorithms where it is used.Stephen Kelly2015-03-101-0/+1
|
* Genex: Allow COMPILE_LANGUAGE when processing compile definitions.Stephen Kelly2015-03-091-1/+1
| | | | Issue an error if this is encountered by an IDE generator.
* QtAutogen: Issue error message with origin file (#15342).Stephen Kelly2015-02-031-1/+2
|
* Merge topic 'join-algorithm'Brad King2015-01-121-39/+5
|\ | | | | | | | | | | | | 55a73e6b Use the cmJoin algorithm where possible. 8dc8d756 cmStandardIncludes: Add a join algorithm for string containers. b5813cee cmInstallCommand: Remove unused variable.
| * Use the cmJoin algorithm where possible.Stephen Kelly2015-01-081-39/+5
| |
* | Use two-iterator std::set::insert where appropriate.Stephen Kelly2015-01-111-12/+2
| |
* | Use insert instead of a loop in some cases.Stephen Kelly2015-01-111-24/+7
|/ | | | | | Limit this change to inserting into a vector from a vector. A follow up change can use insert for inserting into a set.
* Remove some temporary vectors for ExpandListArgument.Stephen Kelly2014-12-181-8/+1
| | | | Expand directly into the target when possible.
* Merge topic 'remove-c_str'Brad King2014-11-251-5/+5
|\ | | | | | | | | 5eb4d759 Remove some unneeded c_str calls.
| * Remove some unneeded c_str calls.Stephen Kelly2014-11-231-5/+5
| |
* | Merge topic 'clean-autogen'Brad King2014-11-251-4/+4
|\ \ | | | | | | | | | | | | | | | 3bd59b60 QtAutogen: Use cmHasLiteral{Prefix,Suffix} where possible. bf00f528 QtAutogen: Don't take a reference to temporary.
| * | QtAutogen: Use cmHasLiteral{Prefix,Suffix} where possible.Stephen Kelly2014-11-181-3/+3
| | |
| * | QtAutogen: Don't take a reference to temporary.Stephen Kelly2014-11-181-1/+1
| |/ | | | | | | | | While a const reference to a temporary is standard conformant, it doesn't seem to be necessary or advantageous here.
* | Add an option for explicit BYPRODUCTS of custom commands (#14963)Brad King2014-11-141-2/+5
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | A common idiom in CMake-based build systems is to have custom commands that generate files not listed explicitly as outputs so that these files do not have to be newer than the inputs. The file modification times of such "byproducts" are updated only when their content changes. Then other build rules can depend on the byproducts explicitly so that their dependents rebuild when the content of the original byproducts really does change. This "undeclared byproduct" approach is necessary for Makefile, VS, and Xcode build tools because if a byproduct were listed as an output of a rule then the rule would always rerun when the input is newer than the byproduct but the byproduct may never be updated. Ninja solves this problem by offering a 'restat' feature to check whether an output was really modified after running a rule and tracking the fact that it is up to date separately from its timestamp. However, Ninja also stats all dependencies up front and will only restat files that are listed as outputs of rules with the 'restat' option enabled. Therefore an undeclared byproduct that does not exist at the start of the build will be considered missing and the build will fail even if other dependencies would cause the byproduct to be available before its dependents build. CMake works around this limitation by adding 'phony' build rules for custom command dependencies in the build tree that do not have any explicit specification of what produces them. This is not optimal because it prevents Ninja from reporting an error when an input to a rule really is missing. A better approach is to allow projects to explicitly specify the byproducts of their custom commands so that no phony rules are needed for them. In order to work with the non-Ninja generators, the byproducts must be known separately from the outputs. Add a new "BYPRODUCTS" option to the add_custom_command and add_custom_target commands to specify byproducts explicitly. Teach the Ninja generator to specify byproducts as outputs of the custom commands. In the case of POST_BUILD, PRE_LINK, and PRE_BUILD events on targets that link, the byproducts must be specified as outputs of the link rule that runs the commands. Activate 'restat' for such rules so that Ninja knows it needs to check the byproducts, but not for link rules that have no byproducts.
* QtAutogen: Regenerate qrc files if their input changes (#15074)Stephen Kelly2014-10-241-8/+267
| | | | | | | | | | | | | | | | | 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-6/+6
| | | | This can be re-used as a vector.
* QtAutogen: Extract a GetRccExecutable method.Stephen Kelly2014-10-231-9/+31
|
* strings: Remove redundant calls to std::string::c_str()Nils Gladitz2014-10-151-21/+21
| | | | | Replacements were detected and performed by the clang tool remove-cstr-calls on a linux build.
* Fix a few more places to use cmsys::[io]fstream instead of std::fstream.Clinton Stimpson2014-10-041-4/+4
|
* Merge topic 'autogen-fixes'Brad King2014-09-221-19/+25
|\ | | | | | | | | | | 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-18/+23
| | | | | | | | | | Use a vector to store a list of matched ui_ includes, instead of overwriting the previous match.
| * QtAutogen: Add source files to target when only AUTORCC is used.Stephen Kelly2014-09-171-1/+2
| | | | | | | | Add missing entry to if condition.
* | Fix memory leak of local generator detected by LeakSanitizer.Bill Hoffman2014-07-241-0/+1
| |
* | QtAutogen: Put generated qrc files in a target-specific dir.Stephen Kelly2014-04-181-2/+10
| |