回答:
抽出式は、.rb
内部にコンパイルオプションを含むRuby()ファイルです。Homebrew brew install|reinstall
では、式名の代わりにURLを指定できるため、コンパイルフラグを式のオンラインコピーに追加して、gist.github.comなどのサービスでホストできます。
コンパイルオプションがオーバーライドされたサンプルのrubyファイルを次に示します。
def install
args = std_cmake_args
# OVERRIDE: Force cmake to use debug flags
args << "-DCMAKE_BUILD_TYPE=Debug"
system "cmake", ".", *args
end
std_cmake_args
、Homebrewのformula.rb
内部で定義されているのは、すべてのHomebrew cmake
フォーミュラの内部変数であり、cmake
追加の引数を追加する前に各ビルドに適切なデフォルトを提供します。
この例ではを使用しますcmake
。各プロジェクトには独自のコンパイラツールがあるため、コンパイルフラグを追加するためのテクニックが異なる可能性があります。たとえば、cmake
デバッグフラグを使用するように指示するには、args << "-DCMAKE_BUILD_TYPE=Debug"
これらの変更が.rb
ファイルに加えられ、オンラインでホストされると、--build-from-source
コマンドラインオプションを使用して、新しいオプションでパッケージを再インストールできます。
brew reinstall --build-from-source https://<path to formula>.rb
警告:を使用する場合gist.github.com
、「未加工」バージョンが必要なURLであることに注意してください。そうでない場合は、ページのHTML(コードプレビューなど)をインストールしようとしますが、動作しません。:)
警告:これにより、指定されたパッケージがデバッグフラグ付きでHomebrewディレクトリに再インストールされるため、古い「リリース」または「最適化された」ビルドは使用できなくなります。brew install
トラブルシューティングが完了したら、標準の手法を使用して非デバッグバージョンを再インストールすることを忘れないでください。そうしないと、手動で更新されるまで、コンピューターにライブラリのデバッグバージョンがあります。:)