1. ホーム
  2. cmake

[解決済み] configure --prefix=DIR && make all install ' と同等のCMakeは何ですか?

2022-03-24 16:19:53

質問

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

別の接頭辞にインストールする必要があるのですが(例えば /usr ).

とは何ですか? cmakemake にインストールするためのコマンドラインです。 /usr ではなく /usr/local ?

解決方法は?

コマンドラインで任意の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 ... . -ターゲット インストール -設定 リリース

かなり長くなってしまい、もう直接的には同等ではありませんが、かなり簡潔な形でベストプラクティスに近づいていることがおわかりいただけると思います...。この --config はマルチコンフィギュレーションジェネレータ (例: MSVC) でのみ使用され、他では無視されます。