diff options
author | Stephen Kelly <steveire@gmail.com> | 2014-09-17 00:42:30 (GMT) |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2014-10-24 17:45:27 (GMT) |
commit | 6e1c359fe9bee71c421a671108176d47fb415d93 (patch) | |
tree | 7672d870bac30b8ede0e201558155e5107cdb9b9 /Source/cmQtAutoGenerators.h | |
parent | a29953180c21ba0d56fb236eb58bafd40ae68961 (diff) | |
download | CMake-6e1c359fe9bee71c421a671108176d47fb415d93.zip CMake-6e1c359fe9bee71c421a671108176d47fb415d93.tar.gz CMake-6e1c359fe9bee71c421a671108176d47fb415d93.tar.bz2 |
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.
Diffstat (limited to 'Source/cmQtAutoGenerators.h')
-rw-r--r-- | Source/cmQtAutoGenerators.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/Source/cmQtAutoGenerators.h b/Source/cmQtAutoGenerators.h index ce27852..79fa5df 100644 --- a/Source/cmQtAutoGenerators.h +++ b/Source/cmQtAutoGenerators.h @@ -88,6 +88,15 @@ private: std::string GetRccExecutable(cmTarget const* target); + std::string ListQt5RccInputs(cmSourceFile* sf, cmTarget const* target, + std::vector<std::string>& depends); + + std::string ListQt4RccInputs(cmSourceFile* sf, + std::vector<std::string>& depends); + + bool InputFilesNewerThanQrc(const std::string& qrcFile, + const std::string& rccOutput); + std::string QtMajorVersion; std::string Sources; std::vector<std::string> RccSources; @@ -118,6 +127,7 @@ private: std::vector<std::string> UicTargetOptions; std::map<std::string, std::string> UicOptions; std::map<std::string, std::string> RccOptions; + std::map<std::string, std::vector<std::string> > RccInputs; bool Verbose; bool ColorOutput; |