CMake/Source/cmQtAutomoc.h

66 lines
1.8 KiB
C++

#ifndef cmQtAutomoc_h
#define cmQtAutomoc_h
class cmGlobalGenerator;
class cmMakefile;
class cmQtAutomoc
{
public:
cmQtAutomoc();
bool Run(const char* targetDirectory);
void SetupAutomocTarget(cmMakefile* makefile,
const char* targetName,
std::vector<std::string>& srcs);
void AddTargetDependency(cmMakefile* makefile, cmTarget* target);
private:
cmGlobalGenerator* CreateGlobalGenerator(cmake* cm,
const char* targetDirectory);
bool ReadAutomocInfoFile(cmMakefile* makefile,
const char* targetDirectory);
bool ReadOldMocDefinitionsFile(cmMakefile* makefile,
const char* targetDirectory);
void WriteOldMocDefinitionsFile(const char* targetDirectory);
bool RunAutomocQt4();
bool GenerateMoc(const std::string& sourceFile,
const std::string& mocFileName);
void Init();
std::string Join(const std::list<std::string>& lst, char separator);
bool EndsWith(const std::string& str, const std::string& with);
bool StartsWith(const std::string& str, const std::string& with);
std::string ReadAll(const std::string& filename);
std::string QtMajorVersion;
std::string Sources;
std::string Headers;
bool IncludeProjectDirsBefore;
std::string Srcdir;
std::string Builddir;
std::string MocExecutable;
std::string MocCompileDefinitionsStr;
std::string MocDefinitionsStr;
std::string MocIncludesStr;
std::string ProjectBinaryDir;
std::string ProjectSourceDir;
std::string TargetName;
std::string OldMocDefinitionsStr;
std::string OutMocCppFilename;
std::list<std::string> MocIncludes;
std::list<std::string> MocDefinitions;
bool Verbose;
bool RunMocFailed;
bool GenerateAll;
};
#endif