123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmQtAutoGenInitializer_h
- #define cmQtAutoGenInitializer_h
- #include "cmConfigure.h" // IWYU pragma: keep
- #include "cmQtAutoGen.h"
- #include <map>
- #include <set>
- #include <string>
- #include <vector>
- class cmGeneratorTarget;
- /// @brief Initializes the QtAutoGen generators
- class cmQtAutoGenInitializer : public cmQtAutoGen
- {
- public:
- static std::string GetQtMajorVersion(cmGeneratorTarget const* target);
- static std::string GetQtMinorVersion(cmGeneratorTarget const* target,
- std::string const& qtVersionMajor);
- /// @brief Rcc job information
- class Qrc
- {
- public:
- Qrc()
- : Generated(false)
- , Unique(false)
- {
- }
- public:
- std::string QrcFile;
- std::string QrcName;
- std::string PathChecksum;
- std::string InfoFile;
- std::string SettingsFile;
- std::string RccFile;
- bool Generated;
- bool Unique;
- std::vector<std::string> Options;
- std::vector<std::string> Resources;
- };
- public:
- cmQtAutoGenInitializer(cmGeneratorTarget* target, bool mocEnabled,
- bool uicEnabled, bool rccEnabled,
- std::string const& qtVersionMajor);
- void InitCustomTargets();
- void SetupCustomTargets();
- private:
- void SetupCustomTargetsMoc();
- void SetupCustomTargetsUic();
- void AddGeneratedSource(std::string const& filename, GeneratorT genType);
- bool QtVersionGreaterOrEqual(unsigned long requestMajor,
- unsigned long requestMinor) const;
- bool RccListInputs(std::string const& fileName,
- std::vector<std::string>& files,
- std::string& errorMessage);
- private:
- cmGeneratorTarget* Target;
- bool MocEnabled;
- bool UicEnabled;
- bool RccEnabled;
- bool MultiConfig;
- // Qt
- std::string QtVersionMajor;
- std::string QtVersionMinor;
- std::string MocExecutable;
- std::string UicExecutable;
- std::string RccExecutable;
- std::vector<std::string> RccListOptions;
- // Configurations
- std::string ConfigDefault;
- std::vector<std::string> ConfigsList;
- std::string Parallel;
- // Names
- std::string AutogenTargetName;
- std::string AutogenFolder;
- std::string AutogenInfoFile;
- std::string AutogenSettingsFile;
- // Directories
- std::string DirInfo;
- std::string DirBuild;
- std::string DirWork;
- // Sources
- std::vector<std::string> Headers;
- std::vector<std::string> Sources;
- // Moc
- std::string MocPredefsCmd;
- std::set<std::string> MocSkip;
- std::string MocIncludes;
- std::map<std::string, std::string> MocIncludesConfig;
- std::string MocDefines;
- std::map<std::string, std::string> MocDefinesConfig;
- // Uic
- std::set<std::string> UicSkip;
- std::vector<std::string> UicSearchPaths;
- std::string UicOptions;
- std::map<std::string, std::string> UicOptionsConfig;
- std::vector<std::string> UicFileFiles;
- std::vector<std::vector<std::string>> UicFileOptions;
- // Rcc
- std::vector<Qrc> Qrcs;
- };
- #endif
|