|
|
@@ -733,9 +733,8 @@ void cmQtAutoGenerators::MocFindDepends(
|
|
|
const std::string match = filter.regExp.match(1);
|
|
|
if (!match.empty()) {
|
|
|
// Find the dependency file
|
|
|
- const std::string incFile =
|
|
|
- this->FindIncludedFile(absFilename, match);
|
|
|
- if (!incFile.empty()) {
|
|
|
+ std::string incFile;
|
|
|
+ if (this->FindIncludedFile(incFile, absFilename, match)) {
|
|
|
mocDepends[absFilename].insert(incFile);
|
|
|
if (this->Verbose) {
|
|
|
this->LogInfo("AutoMoc: Found dependency:\n " +
|
|
|
@@ -1780,40 +1779,35 @@ std::string cmQtAutoGenerators::FindMocHeader(const std::string& basePath,
|
|
|
return header;
|
|
|
}
|
|
|
|
|
|
-std::string cmQtAutoGenerators::FindIncludedFile(
|
|
|
- const std::string& sourceFile, const std::string& includeString) const
|
|
|
+bool cmQtAutoGenerators::FindIncludedFile(
|
|
|
+ std::string& absFile, const std::string& sourceFile,
|
|
|
+ const std::string& includeString) const
|
|
|
{
|
|
|
+ bool success = false;
|
|
|
// Search in vicinity of the source
|
|
|
{
|
|
|
std::string testPath = cmSystemTools::GetFilenamePath(sourceFile);
|
|
|
testPath += '/';
|
|
|
testPath += includeString;
|
|
|
if (cmsys::SystemTools::FileExists(testPath.c_str())) {
|
|
|
- return cmsys::SystemTools::GetRealPath(testPath);
|
|
|
+ absFile = cmsys::SystemTools::GetRealPath(testPath);
|
|
|
+ success = true;
|
|
|
}
|
|
|
}
|
|
|
- // Search globally
|
|
|
- return FindInIncludeDirectories(includeString);
|
|
|
-}
|
|
|
-
|
|
|
-/**
|
|
|
- * @brief Tries to find a file in the include directories
|
|
|
- * @return True on success
|
|
|
- */
|
|
|
-std::string cmQtAutoGenerators::FindInIncludeDirectories(
|
|
|
- const std::string& includeString) const
|
|
|
-{
|
|
|
- std::string res;
|
|
|
- for (std::vector<std::string>::const_iterator iit =
|
|
|
- this->MocIncludePaths.begin();
|
|
|
- iit != this->MocIncludePaths.end(); ++iit) {
|
|
|
- const std::string fullPath = ((*iit) + '/' + includeString);
|
|
|
- if (cmsys::SystemTools::FileExists(fullPath.c_str())) {
|
|
|
- res = cmsys::SystemTools::GetRealPath(fullPath);
|
|
|
- break;
|
|
|
+ // Search in include directories
|
|
|
+ if (!success) {
|
|
|
+ for (std::vector<std::string>::const_iterator iit =
|
|
|
+ this->MocIncludePaths.begin();
|
|
|
+ iit != this->MocIncludePaths.end(); ++iit) {
|
|
|
+ const std::string fullPath = ((*iit) + '/' + includeString);
|
|
|
+ if (cmsys::SystemTools::FileExists(fullPath.c_str())) {
|
|
|
+ absFile = cmsys::SystemTools::GetRealPath(fullPath);
|
|
|
+ success = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- return res;
|
|
|
+ return success;
|
|
|
}
|
|
|
|
|
|
/**
|