21

SConsでビルドされたプロジェクトがあり、 Clang Static Analyzerを使用してコードを分析しようとしています。ただし、実行時は

scan-build scons

SCons は によって導入された設定を無視するようscan-buildです。どうすればこれを機能させることができますか?

4

1 に答える 1

30

動作する方法は、ビルドがどのように行われるかを制御するscan-buildためにビルドシステム(など)によって通常使用されるさまざまな環境変数を設定することです。makeこれらのいくつかは次のとおりです。

  • CC-Cコンパイラとして使用するプログラムの名前
  • CXX-C++コンパイラとして使用するプログラムの名前
  • CCC_*-Clangの静的アナライザーの動作を制御するさまざまな環境変数

SConsは通常、ビルドを実行する前に環境をクリーンアップします(これは機能です)。上記の環境変数を有効にするには、次のようにし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_"))
于 2012-02-16T04:05:21.607 に答える