[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [cdt-dev] Invalidating discovered scanner info after build settings have changed
|
It looks like symbols are not merged if I call ((PerProjectSICollector) collector).deleteAll(project); - but this does not update values on the Paths and Symbols project property page and does not refresh the editor/indexer.
Is there a way to refresh those when my project is rebuilt with the new settings?
On Wed, Aug 31, 2011 at 9:56 AM, Eugene Ostroukhov
<eostroukhov@xxxxxxxxx> wrote:
In our IDE we need to update list of defines when user changes compiler settings. I.e. we have a target architecture macro that needs to contain proper version depending on compiler settings.
I created custom ScannerInfoProvider and ConsoleParser that properly invoke our tools to gather include paths and defines. I verified that the arrays they pass to IScannerInfoCollector are proper ones. I verified that if I quit the IDE, delete ${workspace}/.metadata/.plugin/org.eclipse.cdt.make.core/${project}.sc file the new macro values are proper.
The extension point uses CDT stock org.eclipse.cdt.make.internal.core.scannerconfig2.PerProjectSICollector that gathers the scanner information.
The problem I see is that new values do not replace the previous list but instead get merged together - i.e. our __ARCH__ macro now is marked as having two active values. Is there a way to override symbols instead of merging with them? Can I reuse PerProjectSICollector (it does the merge in definedSymbolsNeedUpdate) or the only way is to create our own?
Best regards,
Eugene