diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2013-02-05 12:50:23 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@digia.com> | 2013-02-06 12:11:15 +0100 |
commit | 0d83692e00b4e0c2df0353bdd8178cf20509b4a0 (patch) | |
tree | b0b88a4f9166bba7c45aa750396f1320c3d519bb /src/plugins | |
parent | e8acb40b702876224d97389ff026aa16391dff4d (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.cpp | 12 | ||||
-rw-r--r-- | src/plugins/scanner/qt/qtscanner.cpp | 2 | ||||
-rw-r--r-- | src/plugins/scanner/scanner.h | 9 |
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)(); |