[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[cdt-dev] Invalidating discovered scanner info after build settings have changed
|
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