automoc: use the header extensions from cmMakefile
Instead of having an own set of C header extensions, use cmMakefile::GetHeaderExtensions() (#13904) Alex
This commit is contained in:
parent
10511aa084
commit
27e14a813c
|
@ -51,7 +51,7 @@ static std::string findMatchingHeader(const std::string& absPath,
|
|||
ext != headerExtensions.end();
|
||||
++ext)
|
||||
{
|
||||
std::string sourceFilePath = absPath + basename + (*ext);
|
||||
std::string sourceFilePath = absPath + basename + "." + (*ext);
|
||||
if (cmsys::SystemTools::FileExists(sourceFilePath.c_str()))
|
||||
{
|
||||
header = sourceFilePath;
|
||||
|
@ -59,7 +59,7 @@ static std::string findMatchingHeader(const std::string& absPath,
|
|||
}
|
||||
if (!mocSubDir.empty())
|
||||
{
|
||||
sourceFilePath = mocSubDir + basename + (*ext);
|
||||
sourceFilePath = mocSubDir + basename + "." + (*ext);
|
||||
if (cmsys::SystemTools::FileExists(sourceFilePath.c_str()))
|
||||
{
|
||||
header = sourceFilePath;
|
||||
|
@ -296,7 +296,7 @@ bool cmQtAutomoc::Run(const char* targetDirectory)
|
|||
|
||||
if (this->QtMajorVersion == "4" || this->QtMajorVersion == "5")
|
||||
{
|
||||
success = this->RunAutomoc();
|
||||
success = this->RunAutomoc(makefile);
|
||||
}
|
||||
|
||||
this->WriteOldMocDefinitionsFile(targetDirectory);
|
||||
|
@ -504,7 +504,7 @@ void cmQtAutomoc::Init()
|
|||
}
|
||||
|
||||
|
||||
bool cmQtAutomoc::RunAutomoc()
|
||||
bool cmQtAutomoc::RunAutomoc(cmMakefile* makefile)
|
||||
{
|
||||
if (!cmsys::SystemTools::FileExists(this->OutMocCppFilename.c_str())
|
||||
|| (this->OldCompileSettingsStr != this->CurrentCompileSettingsStr))
|
||||
|
@ -528,22 +528,8 @@ bool cmQtAutomoc::RunAutomoc()
|
|||
std::vector<std::string> sourceFiles;
|
||||
cmSystemTools::ExpandListArgument(this->Sources, sourceFiles);
|
||||
|
||||
std::vector<std::string> headerExtensions;
|
||||
headerExtensions.push_back(".h");
|
||||
headerExtensions.push_back(".hpp");
|
||||
headerExtensions.push_back(".hxx");
|
||||
#if defined(_WIN32)
|
||||
// not case sensitive, don't add ".H"
|
||||
#elif defined(__APPLE__)
|
||||
// detect case-sensitive filesystem
|
||||
long caseSensitive = pathconf(this->Srcdir.c_str(), _PC_CASE_SENSITIVE);
|
||||
if (caseSensitive == 1)
|
||||
{
|
||||
headerExtensions.push_back(".H");
|
||||
}
|
||||
#else
|
||||
headerExtensions.push_back(".H");
|
||||
#endif
|
||||
const std::vector<std::string>& headerExtensions =
|
||||
makefile->GetHeaderExtensions();
|
||||
|
||||
for (std::vector<std::string>::const_iterator it = sourceFiles.begin();
|
||||
it != sourceFiles.end();
|
||||
|
@ -945,7 +931,7 @@ void cmQtAutomoc::SearchHeadersForCppFile(const std::string& absFilename,
|
|||
ext != headerExtensions.end();
|
||||
++ext)
|
||||
{
|
||||
const std::string headerName = absPath + basename + (*ext);
|
||||
const std::string headerName = absPath + basename + "." + (*ext);
|
||||
if (cmsys::SystemTools::FileExists(headerName.c_str()))
|
||||
{
|
||||
absHeaders.insert(headerName);
|
||||
|
@ -956,7 +942,7 @@ void cmQtAutomoc::SearchHeadersForCppFile(const std::string& absFilename,
|
|||
ext != headerExtensions.end();
|
||||
++ext)
|
||||
{
|
||||
const std::string privateHeaderName = absPath+basename+"_p"+(*ext);
|
||||
const std::string privateHeaderName = absPath+basename+"_p."+(*ext);
|
||||
if (cmsys::SystemTools::FileExists(privateHeaderName.c_str()))
|
||||
{
|
||||
absHeaders.insert(privateHeaderName);
|
||||
|
@ -1090,7 +1076,7 @@ std::string cmQtAutomoc::Join(const std::vector<std::string>& lst,
|
|||
it != lst.end();
|
||||
++it)
|
||||
{
|
||||
result += (*it) + separator;
|
||||
result += "." + (*it) + separator;
|
||||
}
|
||||
result.erase(result.end() - 1);
|
||||
return result;
|
||||
|
|
|
@ -37,7 +37,7 @@ private:
|
|||
|
||||
std::string MakeCompileSettingsString(cmMakefile* makefile);
|
||||
|
||||
bool RunAutomoc();
|
||||
bool RunAutomoc(cmMakefile* makefile);
|
||||
bool GenerateMoc(const std::string& sourceFile,
|
||||
const std::string& mocFileName);
|
||||
void ParseCppFile(const std::string& absFilename,
|
||||
|
|
Loading…
Reference in New Issue