私は(10-15)分を構築するのにかなりの時間がかかるプロジェクトに取り組んでいます。コンパイルエラーがあるかどうかを確認するために再コンパイルしました。次に、インストールディレクトリを変更して、新しいバージョンの実行可能ファイルに新しい変更を加えます。'make install'が古い場所ではなく新しい場所にインストールされるようにインストールパスを変更する方法はありますか?
5 に答える
CMakeで生成されたmakefileは、makefileのDESTDIRコーディング規則をサポートします。DESTDIR
したがって、 makeの呼び出し時に変数を設定することにより、デフォルトのインストール場所をオーバーライドできます。
$ make install DESTDIR=/opt/local
CMakeを再実行する必要はありません。
で CMake を実行して-DCMAKE_INSTALL_PREFIX=<somewhere different to last time>
も、プロジェクトを再コンパイルする必要はありません。コンパイラ フラグを変更するなど、他のコマンド ライン パラメーターを CMake に渡すと、影響を受けるターゲットの再構築が強制されますが、インストール プレフィックスを変更するだけではそうはなりません。
DESTDIR とプレフィックスの標準的な定義は次のとおりです。ファイルは $DESTDIR$prefix にインストールされますが、最終的なインストール場所が $prefix であるかのように準備されます。
したがって、DESTDIR はバイナリのパッケージまたは tarball をビルドする人のみを対象としています。CMAKE_INSTALL_PREFIX は、ビルドされたバイナリが最終的に存在する場所を指定したい人向けです。
誰かがCMakeを使用していない場合に備えて、Makefileでそれを行う方法があります。ビルドディレクトリにMakefile.configファイルが生成されている場合は、を見つけますprefix
。これprefix
は、path
バイナリ/ヘッダーなどがインストールされるインストールです。これを変更すると、バイナリ/ヘッダーが変更されたにインストールされpath
ます。