From 55dc22db0547e38c126e1c5de74ede4f6a3e4e6b Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Sun, 23 Jan 2022 21:03:30 -0500 Subject: [PATCH] Add --prefix as a configure task parameter --- lib/rscons/cli.rb | 2 +- lib/rscons/script.rb | 13 ++++++++----- lib/rscons/task.rb | 15 +++++++++++---- 3 files changed, 20 insertions(+), 10 deletions(-) diff --git a/lib/rscons/cli.rb b/lib/rscons/cli.rb index 3f6e230..07feb1a 100644 --- a/lib/rscons/cli.rb +++ b/lib/rscons/cli.rb @@ -167,7 +167,7 @@ EOF if task.desc usage += %[ #{sprintf("%-27s", name)} #{task.desc}\n] task.params.each do |name, param| - usage += %[ #{sprintf("%-25s", "--#{name}")} #{param.description}] + usage += %[ #{sprintf("%-25s", "--#{param.cli_option}")} #{param.description}\n] end end end diff --git a/lib/rscons/script.rb b/lib/rscons/script.rb index 41f05fc..b6ef25a 100644 --- a/lib/rscons/script.rb +++ b/lib/rscons/script.rb @@ -41,12 +41,14 @@ module Rscons # # @param name [String] # Param name. - # @param description [String] - # Param description. # @param value [String, nil] # Param value. - def param(name, description, value) - Task::Param.new(name, description, value) + # @param cli_option [String] + # 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 # Return path components from the PATH variable. @@ -306,7 +308,8 @@ module Rscons end task("configure", 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 end task("distclean", diff --git a/lib/rscons/task.rb b/lib/rscons/task.rb index 760e917..a724121 100644 --- a/lib/rscons/task.rb +++ b/lib/rscons/task.rb @@ -56,6 +56,10 @@ module Rscons # Param name. attr_reader :name + # @return [String] + # Param CLI option text. + attr_reader :cli_option + # @return [String] # Param description. attr_reader :description @@ -68,14 +72,17 @@ module Rscons # # @param name [String] # Param name. - # @param description [String] - # Param description. # @param value [String, nil] # 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 - @description = description @value = value + @cli_option = cli_option + @description = description end end