| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143 |
- /*============================================================================
- CMake - Cross Platform Makefile Generator
- Copyright 2004-2011 Kitware, Inc.
- Copyright 2011 Alexander Neundorf ([email protected])
- 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 cmQtAutoGenerators_h
- #define cmQtAutoGenerators_h
- #include <list>
- #include <vector>
- #include <string>
- #include <map>
- class cmMakefile;
- class cmQtAutoGenerators
- {
- public:
- cmQtAutoGenerators();
- bool Run(const std::string& targetDirectory, const std::string& config);
- private:
- bool ReadAutogenInfoFile(cmMakefile* makefile,
- const std::string& targetDirectory,
- const std::string& config);
- bool ReadOldMocDefinitionsFile(cmMakefile* makefile,
- const std::string& targetDirectory);
- void WriteOldMocDefinitionsFile(const std::string& targetDirectory);
- std::string MakeCompileSettingsString(cmMakefile* makefile);
- bool RunAutogen(cmMakefile* makefile);
- bool GenerateMocFiles(
- const std::map<std::string, std::string>& includedMocs,
- const std::map<std::string, std::string>& notIncludedMocs);
- bool GenerateMoc(const std::string& sourceFile,
- const std::string& mocFileName);
- bool GenerateUiFiles(
- const std::map<std::string, std::vector<std::string> >& includedUis );
- bool GenerateUi(const std::string& realName,
- const std::string& uiInputFile,
- const std::string& uiOutputFile );
- bool GenerateQrcFiles();
- bool GenerateQrc(const std::string& qrcInputFile,
- const std::string& qrcOutputFile);
- void ParseCppFile(const std::string& absFilename,
- const std::vector<std::string>& headerExtensions,
- std::map<std::string, std::string>& includedMocs,
- std::map<std::string, std::vector<std::string> >& includedUis);
- void StrictParseCppFile(const std::string& absFilename,
- const std::vector<std::string>& headerExtensions,
- std::map<std::string, std::string>& includedMocs,
- std::map<std::string, std::vector<std::string> >& includedUis);
- void SearchHeadersForCppFile(const std::string& absFilename,
- const std::vector<std::string>& headerExtensions,
- std::set<std::string>& absHeaders);
- void ParseHeaders(const std::set<std::string>& absHeaders,
- const std::map<std::string, std::string>& includedMocs,
- std::map<std::string, std::string>& notIncludedMocs,
- std::map<std::string, std::vector<std::string> >& includedUis);
- void ParseForUic(const std::string& fileName,
- const std::string& contentsString,
- std::map<std::string, std::vector<std::string> >& includedUis);
- void ParseForUic(const std::string& fileName,
- std::map<std::string, std::vector<std::string> >& includedUis);
- void Init();
- std::string SourceRelativePath(const std::string& filename);
- bool NameCollisionTest(const std::map<std::string, std::string >& genFiles,
- std::multimap<std::string, std::string>& collisions );
- void NameCollisionLog(
- const std::string& message,
- const std::multimap<std::string, std::string>& collisions );
- void LogInfo(const std::string& message);
- void LogError(const std::string& message);
- void LogCommand(const std::vector<std::string>& command);
- std::string JoinExts(const std::vector<std::string>& lst);
- static void MergeUicOptions(std::vector<std::string> &opts,
- const std::vector<std::string> &fileOpts, bool isQt5);
- bool InputFilesNewerThanQrc(const std::string& qrcFile,
- const std::string& rccOutput);
- std::string QtMajorVersion;
- std::string Sources;
- std::vector<std::string> RccSources;
- std::string SkipMoc;
- std::string SkipUic;
- std::string Headers;
- std::string Srcdir;
- std::string Builddir;
- std::string MocExecutable;
- std::string UicExecutable;
- std::string RccExecutable;
- std::string MocCompileDefinitionsStr;
- std::string MocIncludesStr;
- std::string MocOptionsStr;
- std::string ProjectBinaryDir;
- std::string ProjectSourceDir;
- std::string TargetName;
- std::string OriginTargetName;
- std::string CurrentCompileSettingsStr;
- std::string OldCompileSettingsStr;
- std::string TargetBuildSubDir;
- std::string OutMocCppFilenameRel;
- std::string OutMocCppFilenameAbs;
- std::list<std::string> MocIncludes;
- std::list<std::string> MocDefinitions;
- std::vector<std::string> MocOptions;
- 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 IncludeProjectDirsBefore;
- bool Verbose;
- bool ColorOutput;
- bool RunMocFailed;
- bool RunUicFailed;
- bool RunRccFailed;
- bool GenerateAll;
- bool RelaxedMode;
- };
- #endif
|