Wie kann ich Clangs „Scan-Build“ mit Scons zum Laufen bringen?
-
25-10-2019 - |
Frage
Ich habe ein Projekt gebaut mit Scons Und ich versuche das zu benutzen Clang Static Analyzer Um den Code zu analysieren. Im Laufen jedoch
scan-build scons
Scons scheinen die Einstellungen zu ignorieren, die von eingeführt wurden, scan-build
. Wie kann ich das zum Laufen bringen?
Lösung
Der Weg scan-build
Arbeiten werden verschiedene Umgebungsvariablen eingerichtet, die normalerweise von Build -Systemen verwendet werden (wie z. make
) um zu kontrollieren, wie der Build geschieht. Einige davon sind:
CC
- Name des Programms, der als C -Compiler verwendet werden sollCXX
- Name des Programms als C ++ - Compiler verwendetCCC_*
- Verschiedene Umgebungsvariablen, die das Verhalten von Clangs statischer Analysator steuern
Scons räumen normalerweise die Umgebung vor dem Ausführen eines Builds (dies ist eine Funktion). Um die oben genannten Umgebungsvariablen wirksam zu machen, tun Sie so etwas in SConstruct
:
env = Environment()
env["CC"] = os.getenv("CC") or env["CC"]
env["CXX"] = os.getenv("CXX") or env["CXX"]
env["ENV"].update(x for x in os.environ.items() if x[0].startswith("CCC_"))
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow