¿Cómo puedo hacer que el trabajo "scan-build" de Clang con SCons?
clang-static-analyzer (1)
Tengo un proyecto creado con SCons y estoy tratando de usar el analizador estático Clang para analizar el código. Sin embargo, cuando se ejecuta
scan-build scons
SCons parece ignorar las configuraciones introducidas por scan-build
. ¿Cómo puedo hacer este trabajo?
La forma scan-build
funciona la scan-build
es que configura varias variables de entorno que normalmente utilizan los sistemas de creación (como make
) para controlar cómo se realiza la creación. Algunos de estos son:
-
CC
- nombre del programa para usar como compilador C -
CXX
- nombre del programa para usar como compilador de C ++ -
CCC_*
- varias variables de entorno que controlan el comportamiento del analizador estático de Clang
SCons normalmente limpia el entorno antes de ejecutar una compilación (esta es una característica). Para que las variables de entorno anteriores tengan efecto, haga algo como esto en 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_"))