aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-02-05 12:50:23 +0100
committerChristian Kandeler <christian.kandeler@digia.com>2013-02-06 12:11:15 +0100
commit0d83692e00b4e0c2df0353bdd8178cf20509b4a0 (patch)
treeb0b88a4f9166bba7c45aa750396f1320c3d519bb /src/plugins
parente8acb40b702876224d97389ff026aa16391dff4d (diff)
do not scan qrc dependencies recursively
The files referenced in a qrc file must not be scanned for further dependencies. Assume the following situation: - foo.qrc references bar.cpp, - bar.cpp includes bar.h We do not want to regenerate qrc_foo.cpp when bar.h changed. ScannerPlugin::usesCppIncludePaths has been turned into the flag ScannerUsesCppIncludePaths. We introduce the scanner flag ScannerRecursiveDependencies. If this flag is set, then every scan result is added to the list of file to scan. Typically, this will be set for include-file-like dependencies. Change-Id: I99e04f554fc34db3e0b90610bb3d20f7e6000c57 Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/plugins')
-rw-r--r--src/plugins/scanner/cpp/cppscanner.cpp12
-rw-r--r--src/plugins/scanner/qt/qtscanner.cpp2
-rw-r--r--src/plugins/scanner/scanner.h9
3 files changed, 15 insertions, 8 deletions
diff --git a/src/plugins/scanner/cpp/cppscanner.cpp b/src/plugins/scanner/cpp/cppscanner.cpp
index 6f737dbf6..399feba4c 100644
--- a/src/plugins/scanner/cpp/cppscanner.cpp
+++ b/src/plugins/scanner/cpp/cppscanner.cpp
@@ -268,7 +268,7 @@ ScannerPlugin hppScanner =
closeScanner,
next,
additionalFileTags,
- true
+ ScannerUsesCppIncludePaths | ScannerRecursiveDependencies
};
ScannerPlugin cppScanner =
@@ -279,7 +279,7 @@ ScannerPlugin cppScanner =
closeScanner,
next,
additionalFileTags,
- true
+ ScannerUsesCppIncludePaths | ScannerRecursiveDependencies
};
ScannerPlugin cScanner =
@@ -290,7 +290,7 @@ ScannerPlugin cScanner =
closeScanner,
next,
0,
- true
+ ScannerUsesCppIncludePaths | ScannerRecursiveDependencies
};
ScannerPlugin objcppScanner =
@@ -301,7 +301,7 @@ ScannerPlugin objcppScanner =
closeScanner,
next,
additionalFileTags,
- true
+ ScannerUsesCppIncludePaths | ScannerRecursiveDependencies
};
ScannerPlugin objcScanner =
@@ -312,7 +312,7 @@ ScannerPlugin objcScanner =
closeScanner,
next,
additionalFileTags,
- true
+ ScannerUsesCppIncludePaths | ScannerRecursiveDependencies
};
ScannerPlugin rcScanner =
@@ -323,7 +323,7 @@ ScannerPlugin rcScanner =
closeScanner,
next,
0,
- true
+ ScannerUsesCppIncludePaths | ScannerRecursiveDependencies
};
ScannerPlugin *theScanners[] = {&hppScanner, &cppScanner, &cScanner, &objcppScanner, &objcScanner, &rcScanner, NULL};
diff --git a/src/plugins/scanner/qt/qtscanner.cpp b/src/plugins/scanner/qt/qtscanner.cpp
index 8832fec79..0374357e1 100644
--- a/src/plugins/scanner/qt/qtscanner.cpp
+++ b/src/plugins/scanner/qt/qtscanner.cpp
@@ -171,7 +171,7 @@ ScannerPlugin qrcScanner =
closeScanner,
nextQrc,
additionalFileTags,
- false
+ NoScannerFlags
};
ScannerPlugin *theScanners[] = {&qrcScanner, NULL};
diff --git a/src/plugins/scanner/scanner.h b/src/plugins/scanner/scanner.h
index b31be8414..e78cb87f1 100644
--- a/src/plugins/scanner/scanner.h
+++ b/src/plugins/scanner/scanner.h
@@ -67,6 +67,13 @@ typedef const char *(*scanNext_f) (void *opaq, int *size, int *flags);
*/
typedef const char** (*scanAdditionalFileTags_f) (void *opaq, int *size);
+enum ScannerFlags
+{
+ NoScannerFlags = 0x00,
+ ScannerUsesCppIncludePaths = 0x01,
+ ScannerRecursiveDependencies = 0x02
+};
+
struct ScannerPlugin
{
const char *name;
@@ -75,7 +82,7 @@ struct ScannerPlugin
scanClose_f close;
scanNext_f next;
scanAdditionalFileTags_f additionalFileTags;
- bool usesCppIncludePaths;
+ int flags;
};
typedef ScannerPlugin **(*getScanners_f)();