Add --prefix as a configure task parameter

This commit is contained in:
Josh Holtrop 2022-01-23 21:03:30 -05:00
parent 67fa432750
commit 55dc22db05
3 changed files with 20 additions and 10 deletions

View File

@ -167,7 +167,7 @@ EOF
if task.desc if task.desc
usage += %[ #{sprintf("%-27s", name)} #{task.desc}\n] usage += %[ #{sprintf("%-27s", name)} #{task.desc}\n]
task.params.each do |name, param| task.params.each do |name, param|
usage += %[ #{sprintf("%-25s", "--#{name}")} #{param.description}] usage += %[ #{sprintf("%-25s", "--#{param.cli_option}")} #{param.description}\n]
end end
end end
end end

View File

@ -41,12 +41,14 @@ module Rscons
# #
# @param name [String] # @param name [String]
# Param name. # Param name.
# @param description [String]
# Param description.
# @param value [String, nil] # @param value [String, nil]
# Param value. # Param value.
def param(name, description, value) # @param cli_option [String]
Task::Param.new(name, description, value) # Param CLI option text.
# @param description [String]
# Param description.
def param(name, value, cli_option, description)
Task::Param.new(name, value, cli_option, description)
end end
# Return path components from the PATH variable. # Return path components from the PATH variable.
@ -306,7 +308,8 @@ module Rscons
end end
task("configure", task("configure",
desc: "Configure the project", desc: "Configure the project",
autoconf: false) do autoconf: false,
params: [param("prefix", "/usr/local", "prefix=PREFIX", "Set installation prefix (default: /usr/local)")]) do
Rscons.application.configure Rscons.application.configure
end end
task("distclean", task("distclean",

View File

@ -56,6 +56,10 @@ module Rscons
# Param name. # Param name.
attr_reader :name attr_reader :name
# @return [String]
# Param CLI option text.
attr_reader :cli_option
# @return [String] # @return [String]
# Param description. # Param description.
attr_reader :description attr_reader :description
@ -68,14 +72,17 @@ module Rscons
# #
# @param name [String] # @param name [String]
# Param name. # Param name.
# @param description [String]
# Param description.
# @param value [String, nil] # @param value [String, nil]
# Param value. # Param value.
def initialize(name, description, value) # @param cli_option [String]
# Param CLI option text.
# @param description [String]
# Param description.
def initialize(name, value, cli_option, description)
@name = name @name = name
@description = description
@value = value @value = value
@cli_option = cli_option
@description = description
end end
end end