CMake で 'configure --prefix=DIR && make all install ' に相当するものは何ですか? 質問する

CMake で 'configure --prefix=DIR && make all install ' に相当するものは何ですか? 質問する

はいcmake . && make all install。これは動作しますが、 にインストールされます/usr/local

別のプレフィックス (たとえば、/usr) にインストールする必要があります。

の代わりににインストールするcmakeおよびコマンド ラインは何ですか?make/usr/usr/local

ベストアンサー1

コマンドラインで任意のCMake変数を渡したり、ccmake/cmake-guiを使用してキャッシュされた変数を編集したりできます。コマンドラインでは、

cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr . && make all install

プロジェクトを構成し、すべてのターゲットをビルドし、/usr プレフィックスにインストールします。タイプ (PATH) は厳密には必要ではありませんが、Qt ベースの cmake-gui がディレクトリ選択ダイアログを表示するようになります。

コメントとしていくつかの小さな追加を行うことで、単純な同等性を提供するだけでは十分ではないことが明らかになります。ベスト プラクティスは、ソースを直接使用するのではなく、外部のビルド ディレクトリを使用することです。また、ジェネレーターを抽象化する、より一般的な CMake 構文を使用することです。

mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .. && cmake --build . --target install --config Release

かなり長くなり、直接的には同等ではなくなりましたが、かなり簡潔な形式でベスト プラクティスに近づいていることがわかります... --config は、マルチ構成ジェネレーター (つまり MSVC) によってのみ使用され、他のジェネレーターでは無視されます。

おすすめ記事