summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutoRcc.h
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2019-04-08 11:58:48 (GMT)
committerKitware Robot <kwrobot@kitware.com>2019-04-08 11:58:58 (GMT)
commit7e60e77c3c2a09eb11750616db50d2dc149a9c54 (patch)
tree52c860bbe7b64c54965f07fe12670e8b236dd97c /Source/cmQtAutoRcc.h
parent14270eab369c3b700d89ef385af2cb94a6497b1e (diff)
parent7b98a6eb68e6a2c9a422e42c8eeb78dfa4038364 (diff)
downloadCMake-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.h79
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