はい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) によってのみ使用され、他のジェネレーターでは無視されます。