summaryrefslogtreecommitdiffstats
path: root/Source/cmQtAutoGeneratorInitializer.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-09-26 17:05:00 (GMT)
committerBrad King <brad.king@kitware.com>2015-09-29 13:56:23 (GMT)
commit59a729b2be6614427f3fd74f60412f17e6618d30 (patch)
treeea64675f3b79c54539d8519a4e54d007f5e4c7a7 /Source/cmQtAutoGeneratorInitializer.h
parent1e83a963d8983f09f5fe6fbf7d268f920b4ed7d0 (diff)
downloadCMake-59a729b2be6614427f3fd74f60412f17e6618d30.zip
CMake-59a729b2be6614427f3fd74f60412f17e6618d30.tar.gz
CMake-59a729b2be6614427f3fd74f60412f17e6618d30.tar.bz2
QtAutogen: Split initializer class into separate file.
Diffstat (limited to 'Source/cmQtAutoGeneratorInitializer.h')
-rw-r--r--Source/cmQtAutoGeneratorInitializer.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/Source/cmQtAutoGeneratorInitializer.h b/Source/cmQtAutoGeneratorInitializer.h
new file mode 100644
index 0000000..c22f172
--- /dev/null
+++ b/Source/cmQtAutoGeneratorInitializer.h
@@ -0,0 +1,67 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2004-2011 Kitware, Inc.
+ Copyright 2011 Alexander Neundorf (neundorf@kde.org)
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+
+#ifndef cmQtAutoGeneratorInitializer_h
+#define cmQtAutoGeneratorInitializer_h
+
+#include "cmStandardIncludes.h"
+
+#include <string>
+#include <vector>
+#include <map>
+
+class cmSourceFile;
+class cmTarget;
+class cmLocalGenerator;
+
+class cmQtAutoGeneratorInitializer
+{
+public:
+ static void InitializeAutogenSources(cmTarget* target);
+ static void InitializeAutogenTarget(cmLocalGenerator* lg, cmTarget* target);
+ static void SetupAutoGenerateTarget(cmTarget const* target);
+
+ static std::string GetAutogenTargetName(cmTarget const* target);
+ static std::string GetAutogenTargetDir(cmTarget const* target);
+
+private:
+ static void SetupSourceFiles(cmTarget const* target,
+ std::vector<std::string>& skipMoc,
+ std::vector<std::string>& mocSources,
+ std::vector<std::string>& mocHeaders,
+ std::vector<std::string>& skipUic);
+
+ static void SetupAutoMocTarget(cmTarget const* target,
+ const std::string &autogenTargetName,
+ const std::vector<std::string>& skipMoc,
+ const std::vector<std::string>& mocHeaders,
+ std::map<std::string, std::string> &configIncludes,
+ std::map<std::string, std::string> &configDefines);
+ static void SetupAutoUicTarget(cmTarget const* target,
+ const std::vector<std::string>& skipUic,
+ std::map<std::string, std::string> &configUicOptions);
+ static void SetupAutoRccTarget(cmTarget const* target);
+
+ static void MergeRccOptions(std::vector<std::string> &opts,
+ const std::vector<std::string> &fileOpts, bool isQt5);
+
+ static std::string GetRccExecutable(cmTarget const* target);
+
+ static std::string ListQt5RccInputs(cmSourceFile* sf, cmTarget const* target,
+ std::vector<std::string>& depends);
+
+ static std::string ListQt4RccInputs(cmSourceFile* sf,
+ std::vector<std::string>& depends);
+};
+
+#endif