mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
formula_creator: use tool-agnostic cmake commands
New versions of CMake know how to invoke the appropriate build tool (i.e. make or ninja), so let's try to leave that to CMake. This also builds out-of-tree, without having to deal with the `mkdir "build" do` business.
This commit is contained in:
parent
e3b451cce8
commit
20ab54fd9f
@ -153,11 +153,14 @@ module Homebrew
|
||||
def install
|
||||
# ENV.deparallelize # if your formula fails when building in parallel
|
||||
<% if mode == :cmake %>
|
||||
system "cmake", ".", *std_cmake_args
|
||||
system "cmake", "-S", ".", "-B", "build", *std_cmake_args
|
||||
system "cmake", "--build", "build"
|
||||
system "cmake", "--install", "build"
|
||||
<% elsif mode == :autotools %>
|
||||
# Remove unrecognized options if warned by configure
|
||||
# https://rubydoc.brew.sh/Formula.html#std_configure_args-instance_method
|
||||
system "./configure", *std_configure_args, "--disable-silent-rules"
|
||||
system "make", "install" # if this fails, try separate make/make install steps
|
||||
<% elsif mode == :crystal %>
|
||||
system "shards", "build", "--release"
|
||||
bin.install "bin/#{name}"
|
||||
@ -206,10 +209,7 @@ module Homebrew
|
||||
# Remove unrecognized options if warned by configure
|
||||
# https://rubydoc.brew.sh/Formula.html#std_configure_args-instance_method
|
||||
system "./configure", *std_configure_args, "--disable-silent-rules"
|
||||
# system "cmake", ".", *std_cmake_args
|
||||
<% end %>
|
||||
<% if mode == :autotools || mode == :cmake %>
|
||||
system "make", "install" # if this fails, try separate make/make install steps
|
||||
# system "cmake", "-S", ".", "-B", "build", *std_cmake_args
|
||||
<% end %>
|
||||
end
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user