diff options
author | Brad King <brad.king@kitware.com> | 2019-04-08 11:58:48 (GMT) |
---|---|---|
committer | Kitware Robot <kwrobot@kitware.com> | 2019-04-08 11:58:58 (GMT) |
commit | 7e60e77c3c2a09eb11750616db50d2dc149a9c54 (patch) | |
tree | 52c860bbe7b64c54965f07fe12670e8b236dd97c /Source/cmQtAutoRcc.h | |
parent | 14270eab369c3b700d89ef385af2cb94a6497b1e (diff) | |
parent | 7b98a6eb68e6a2c9a422e42c8eeb78dfa4038364 (diff) | |
download | CMake-7e60e77c3c2a09eb11750616db50d2dc149a9c54.zip CMake-7e60e77c3c2a09eb11750616db50d2dc149a9c54.tar.gz CMake-7e60e77c3c2a09eb11750616db50d2dc149a9c54.tar.bz2 |
Merge topic 'autogen_autorcc_no_libuv'
7b98a6eb68 Autogen: Rename cmQtAutoGeneratorRcc to cmQtAutoRcc
9710d4aacf Autogen: Move libuv loop from cmQtAutoGenerator to cmQtAutoGeneratorMocUic
95e72c0157 Autogen: Make cmQtAutoGenerator::FileSystem Logger free
f161cfe5a8 Autogen: Move Logger and FileSystem member variables to generator classes
7baec5e94b AutoRcc: Don't use cmQtAutoGenerator::FileSystem methods
191269d247 AutoRcc: Remove libuv event loop from cmQtAutoGeneratorRcc
95de172b68 AutoRcc: Make rcc parsing function private
521475b41b AutoRcc: Use cmQtAutoGen::RccLister in initializer and generator
...
Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !3202
Diffstat (limited to 'Source/cmQtAutoRcc.h')
-rw-r--r-- | Source/cmQtAutoRcc.h | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/Source/cmQtAutoRcc.h b/Source/cmQtAutoRcc.h new file mode 100644 index 0000000..8dc9179 --- /dev/null +++ b/Source/cmQtAutoRcc.h @@ -0,0 +1,79 @@ +/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying + file Copyright.txt or https://cmake.org/licensing for details. */ +#ifndef cmQtAutoRcc_h +#define cmQtAutoRcc_h + +#include "cmConfigure.h" // IWYU pragma: keep + +#include "cmFileLock.h" +#include "cmFileTime.h" +#include "cmQtAutoGenerator.h" + +#include <string> +#include <vector> + +class cmMakefile; + +// @brief AUTORCC generator +class cmQtAutoRcc : public cmQtAutoGenerator +{ +public: + cmQtAutoRcc(); + ~cmQtAutoRcc() override; + + cmQtAutoRcc(cmQtAutoRcc const&) = delete; + cmQtAutoRcc& operator=(cmQtAutoRcc const&) = delete; + +private: + // -- Utility + Logger& Log() { return Logger_; } + bool IsMultiConfig() const { return MultiConfig_; } + std::string MultiConfigOutput() const; + + // -- Abstract processing interface + bool Init(cmMakefile* makefile) override; + bool Process() override; + // -- Settings file + bool SettingsFileRead(); + bool SettingsFileWrite(); + // -- Tests + bool TestQrcRccFiles(bool& generate); + bool TestResources(bool& generate); + bool TestInfoFile(); + // -- Generation + bool GenerateRcc(); + bool GenerateWrapper(); + +private: + // -- Logging + Logger Logger_; + // -- Config settings + bool MultiConfig_ = false; + // -- Directories + std::string AutogenBuildDir_; + std::string IncludeDir_; + // -- Qt environment + std::string RccExecutable_; + std::vector<std::string> RccListOptions_; + // -- Job + std::string LockFile_; + cmFileLock LockFileLock_; + std::string QrcFile_; + std::string QrcFileName_; + std::string QrcFileDir_; + cmFileTime QrcFileTime_; + std::string RccPathChecksum_; + std::string RccFileName_; + std::string RccFileOutput_; + std::string RccFilePublic_; + cmFileTime RccFileTime_; + std::vector<std::string> Options_; + std::vector<std::string> Inputs_; + // -- Settings file + std::string SettingsFile_; + std::string SettingsString_; + bool SettingsChanged_ = false; + bool BuildFileChanged_ = false; +}; + +#endif |