7

私のプロジェクトは CMake を使用してビルドされ、DistCC + GCC でコンパイルされています。

コンパイラを次のように構成します。

SET(CMAKE_C_COMPILER "distcc variation-of-gcc")

プロジェクトをビルドするには、' cmake ' を実行してから ' make -jXX ' を実行するだけです。

distcc は本当にスピードアップしますが、ディストリビューションなしでビルドしたい場合があります - マシン上でローカルにビルドしたいのです。

DISTCC_HOSTS を変更して localhost のみを含めることができることはわかっていますが、これにはまだ distcc ネットワークのオーバーヘッドがありますが、他のマシンのオーバーヘッドよりも高速です...

cmakeまた、再実行して、カスタマイズ フラグを使用して CMAKE_C_COMPILER を変更することで、これを行うこともできます。

しかし、フラグを「make」に直接追加するだけでそれを行う方法を探しています。

I.e.
# This will use distcc:
make -jXX ...
# This will run locally:
make LOCAL_BUILD=1 -jX ...

使用できる CMake のトリックはありますか?

4

2 に答える 2

4

最も簡単なこと (IMO) は、コンパイラを呼び出す小さなスクリプトをプロジェクトに記述し、コンパイラの名前を直接含めるのではなく、そのスクリプトを実行するように CMake ファイルを変更することです。

SET(CMAKE_C_COMPILER "my-gcc-script")

これで、通常はそのスクリプトで distcc を実行できますが、(環境変数などに基づいて) distcc なしでも実行できます。CMake ファイルを変更する必要はありません。

于 2014-09-07T17:38:29.597 に答える