create: add --go-mod option

This commit is contained in:
Dawid Dziurla 2019-09-20 16:09:01 +02:00
parent 1e584f95c3
commit 08f51a5d5a
No known key found for this signature in database
GPG Key ID: 7B6D8368172E9B0B
2 changed files with 10 additions and 2 deletions

View File

@ -23,6 +23,8 @@ module Homebrew
description: "Create a basic template for an Autotools-style build."
switch "--cmake",
description: "Create a basic template for a CMake-style build."
switch "--go-mod",
description: "Create a basic template for a Go-Modules-style build."
switch "--meson",
description: "Create a basic template for a Meson-style build."
switch "--no-fetch",
@ -40,7 +42,7 @@ module Homebrew
switch :force
switch :verbose
switch :debug
conflicts "--autotools", "--cmake", "--meson"
conflicts "--autotools", "--cmake", "--go-mod", "--meson"
end
end
@ -73,6 +75,8 @@ module Homebrew
:autotools
elsif args.meson?
:meson
elsif args.go_mod?
:go_mod
end
if fc.name.nil? || fc.name.strip.empty?

View File

@ -99,6 +99,8 @@ module Homebrew
<% if mode == :cmake %>
depends_on "cmake" => :build
<% elsif mode == :go_mod %>
depends_on "go" => :build
<% elsif mode == :meson %>
depends_on "meson" => :build
depends_on "ninja" => :build
@ -116,6 +118,8 @@ module Homebrew
"--disable-dependency-tracking",
"--disable-silent-rules",
"--prefix=\#{prefix}"
<% elsif mode == :go_mod %>
system "go", "build", "-o", "\#{bin}/\#{name}"
<% elsif mode == :meson %>
mkdir "build" do
system "meson", "--prefix=\#{prefix}", ".."
@ -130,7 +134,7 @@ module Homebrew
"--prefix=\#{prefix}"
# system "cmake", ".", *std_cmake_args
<% end %>
<% if mode != :meson %>
<% if mode != :meson and mode != :go_mod %>
system "make", "install" # if this fails, try separate make/make install steps
<% end %>
end