diff options
author | Sebastian Holtermann <sebholt@xwmw.org> | 2017-11-17 12:04:26 (GMT) |
---|---|---|
committer | Sebastian Holtermann <sebholt@xwmw.org> | 2017-11-19 11:51:30 (GMT) |
commit | 27ed3b3537676e6090a0845e4805bb4a65d05bae (patch) | |
tree | cb92880ea281a52a60039086e427bf4f3c93db99 /Source/cmQtAutoGenerators.h | |
parent | 1cd285fe06088d6dad58a3b52c071579aa0ce8b8 (diff) | |
download | CMake-27ed3b3537676e6090a0845e4805bb4a65d05bae.zip CMake-27ed3b3537676e6090a0845e4805bb4a65d05bae.tar.gz CMake-27ed3b3537676e6090a0845e4805bb4a65d05bae.tar.bz2 |
Autogen: Rename cmQtAutoGenerators to cmQtAutoGeneratorMocUic
Diffstat (limited to 'Source/cmQtAutoGenerators.h')
-rw-r--r-- | Source/cmQtAutoGenerators.h | 228 |
1 files changed, 0 insertions, 228 deletions
diff --git a/Source/cmQtAutoGenerators.h b/Source/cmQtAutoGenerators.h deleted file mode 100644 index b6e28b3..0000000 --- a/Source/cmQtAutoGenerators.h +++ /dev/null @@ -1,228 +0,0 @@ -/* Distributed under the OSI-approved BSD 3-Clause License. See accompanying - file Copyright.txt or https://cmake.org/licensing for details. */ -#ifndef cmQtAutoGenerators_h -#define cmQtAutoGenerators_h - -#include "cmConfigure.h" // IWYU pragma: keep - -#include "cmFilePathChecksum.h" -#include "cmQtAutoGen.h" -#include "cmsys/RegularExpression.hxx" - -#include <map> -#include <memory> // IWYU pragma: keep -#include <set> -#include <string> -#include <vector> - -class cmMakefile; - -class cmQtAutoGenerators -{ - CM_DISABLE_COPY(cmQtAutoGenerators) -public: - cmQtAutoGenerators(); - bool Run(std::string const& targetDirectory, std::string const& config); - -private: - // -- Types - - /// @brief Search key plus regular expression pair - struct KeyRegExp - { - KeyRegExp() = default; - - KeyRegExp(const char* key, const char* regExp) - : Key(key) - , RegExp(regExp) - { - } - - KeyRegExp(std::string const& key, std::string const& regExp) - : Key(key) - , RegExp(regExp) - { - } - - std::string Key; - cmsys::RegularExpression RegExp; - }; - - /// @brief Source file job - struct SourceJob - { - bool Moc = false; - bool Uic = false; - }; - - /// @brief MOC job - struct MocJobAuto - { - std::string SourceFile; - std::string BuildFileRel; - std::set<std::string> Depends; - }; - - /// @brief MOC job - struct MocJobIncluded : MocJobAuto - { - bool DependsValid = false; - std::string Includer; - std::string IncludeString; - }; - - /// @brief UIC job - struct UicJob - { - std::string SourceFile; - std::string BuildFileRel; - std::string Includer; - std::string IncludeString; - }; - - // -- Initialization - bool InitInfoFile(cmMakefile* makefile, std::string const& targetDirectory, - std::string const& config); - - // -- Settings file - void SettingsFileRead(cmMakefile* makefile); - bool SettingsFileWrite(); - bool SettingsChanged() const - { - return (this->MocSettingsChanged || this->UicSettingsChanged); - } - - // -- Central processing - bool Process(); - - // -- Source parsing - bool ParseSourceFile(std::string const& absFilename, const SourceJob& job); - bool ParseHeaderFile(std::string const& absFilename, const SourceJob& job); - bool ParsePostprocess(); - - // -- Moc - bool MocEnabled() const { return !this->MocExecutable.empty(); } - bool MocSkip(std::string const& absFilename) const; - bool MocRequired(std::string const& contentText, - std::string* macroName = nullptr); - // Moc strings - std::string MocStringMacros() const; - std::string MocStringHeaders(std::string const& fileBase) const; - std::string MocFindIncludedHeader(std::string const& sourcePath, - std::string const& includeBase) const; - bool MocFindIncludedFile(std::string& absFile, std::string const& sourceFile, - std::string const& includeString) const; - // Moc depends - bool MocDependFilterPush(std::string const& key, std::string const& regExp); - void MocFindDepends(std::string const& absFilename, - std::string const& contentText, - std::set<std::string>& depends); - // Moc - bool MocParseSourceContent(std::string const& absFilename, - std::string const& contentText); - void MocParseHeaderContent(std::string const& absFilename, - std::string const& contentText); - - bool MocGenerateAll(); - bool MocGenerateFile(const MocJobAuto& mocJob, bool* generated = nullptr); - - // -- Uic - bool UicEnabled() const { return !this->UicExecutable.empty(); } - bool UicSkip(std::string const& absFilename) const; - bool UicParseContent(std::string const& fileName, - std::string const& contentText); - bool UicFindIncludedFile(std::string& absFile, std::string const& sourceFile, - std::string const& includeString); - bool UicGenerateAll(); - bool UicGenerateFile(const UicJob& uicJob); - - // -- Log info - void LogBold(std::string const& message) const; - void LogInfo(cmQtAutoGen::Generator genType, - std::string const& message) const; - // -- Log warning - void LogWarning(cmQtAutoGen::Generator genType, - std::string const& message) const; - void LogFileWarning(cmQtAutoGen::Generator genType, - std::string const& filename, - std::string const& message) const; - // -- Log error - void LogError(cmQtAutoGen::Generator genType, - std::string const& message) const; - void LogFileError(cmQtAutoGen::Generator genType, - std::string const& filename, - std::string const& message) const; - void LogCommandError(cmQtAutoGen::Generator genType, - std::string const& message, - std::vector<std::string> const& command, - std::string const& output) const; - - // -- Utility - bool MakeParentDirectory(cmQtAutoGen::Generator genType, - std::string const& filename) const; - bool FileDiffers(std::string const& filename, std::string const& content); - bool FileWrite(cmQtAutoGen::Generator genType, std::string const& filename, - std::string const& content); - bool FindHeader(std::string& header, std::string const& testBasePath) const; - bool RunCommand(std::vector<std::string> const& command, - std::string& output) const; - - // -- Meta - std::string InfoFile; - std::string ConfigSuffix; - cmQtAutoGen::MultiConfig MultiConfig; - // -- Settings - bool IncludeProjectDirsBefore; - bool Verbose; - bool ColorOutput; - std::string SettingsFile; - std::string SettingsStringMoc; - std::string SettingsStringUic; - // -- Directories - std::string ProjectSourceDir; - std::string ProjectBinaryDir; - std::string CurrentSourceDir; - std::string CurrentBinaryDir; - std::string AutogenBuildDir; - std::string AutogenIncludeDir; - // -- Qt environment - std::string QtMajorVersion; - std::string QtMinorVersion; - std::string MocExecutable; - std::string UicExecutable; - // -- File lists - std::map<std::string, SourceJob> HeaderJobs; - std::map<std::string, SourceJob> SourceJobs; - std::vector<std::string> HeaderExtensions; - cmFilePathChecksum FilePathChecksum; - // -- Moc - bool MocSettingsChanged; - bool MocPredefsChanged; - bool MocRelaxedMode; - std::string MocCompFileRel; - std::string MocCompFileAbs; - std::string MocPredefsFileRel; - std::string MocPredefsFileAbs; - std::vector<std::string> MocSkipList; - std::vector<std::string> MocIncludePaths; - std::vector<std::string> MocIncludes; - std::vector<std::string> MocDefinitions; - std::vector<std::string> MocOptions; - std::vector<std::string> MocAllOptions; - std::vector<std::string> MocPredefsCmd; - std::vector<KeyRegExp> MocDependFilters; - std::vector<KeyRegExp> MocMacroFilters; - cmsys::RegularExpression MocRegExpInclude; - std::vector<std::unique_ptr<MocJobIncluded>> MocJobsIncluded; - std::vector<std::unique_ptr<MocJobAuto>> MocJobsAuto; - // -- Uic - bool UicSettingsChanged; - std::vector<std::string> UicSkipList; - std::vector<std::string> UicTargetOptions; - std::map<std::string, std::vector<std::string>> UicOptions; - std::vector<std::string> UicSearchPaths; - cmsys::RegularExpression UicRegExpInclude; - std::vector<std::unique_ptr<UicJob>> UicJobs; -}; - -#endif |