<!--
SPDX-FileCopyrightText: 2005 - 2008, 2010 - 2022 Michael Pyne <mpyne@kde.org>
SPDX-FileCopyrightText: 2005 - 2024 The kdesrc-build authors

SPDX-License-Identifier: GFDL-1.2-no-invariants-or-later
-->

<sect1 id="supported-cmdline-params">
<title>Supported command-line parameters</title>

<sect2>
<title>Generic</title>
<variablelist>

<varlistentry id="cmdline-pretend">
<term><option><link linkend="cmdline-pretend">--pretend</link></option> (or <option>--dry-run</option> or <option>-p</option>)</term>
<listitem><para>
&kdesrc-build; will run through the update and build process, but instead of
performing any actions to update or build, will instead output what the
script would have done (e.g. what commands to run, general steps being taken,
etc.).</para>

<note><para>Simple read-only commands (such as reading file information) may
still be run to make the output more relevant (such as correctly simulating
whether source code would be checked out or updated).
</para></note>

<important><para>This option requires that some needed metadata is available,
which is normally automatically downloaded, but downloads are disabled in
pretend mode. If you've never run &kdesrc-build; (and therefore, don't have
this metadata), you should run <command>kdesrc-build
<option>--metadata-only</option></command> to download the required metadata
first.
</para></important>
</listitem>
</varlistentry>

<varlistentry id="cmdline-include-dependencies">
<term><option><link linkend="cmdline-include-dependencies">--include-dependencies</link></option> (or <option>-d</option>), <option>--no-include-dependencies</option> (or <option>-D</option>)</term>
<listitem><para>
This option causes &kdesrc-build; to automatically include other &kde; and &Qt;
modules in the build, if required for the modules you have requested to build
on the command line or in your
<link linkend="configure-data">configuration file</link>.</para>

<para>The modules that are added are as recorded within the &kde; source code
management system. See <xref linkend="kde-projects-module-sets"/>.</para>

<para>The corresponding configuration file option is
<link linkend="conf-include-dependencies">include-dependencies</link>.</para>

<para>This option is enabled by default.</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-ignore-modules">
<term><option><link linkend="cmdline-ignore-modules">--ignore-modules</link></option> (or <option>-!</option>) <parameter>module [module ...]</parameter></term>
<listitem><para>
Do not include the modules passed on the rest of the command line in the
update/build process (this is useful if you want to build most of the modules
in your <link linkend="configure-data">configuration file</link> and just skip
a few).
</para>
<para>Note that this option does not override <link linkend="conf-ignore-modules">ignore-modules</link> config option in global section. Instead, it appends it.</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-run">
<term><option><link linkend="cmdline-run">--run</link></option> (or <option>--start-program</option>) [-e|--exec name] [-f|--fork] <parameter>program [parameters ...]</parameter></term>
<listitem><para>
This option interprets the next item on the command line as a program to run,
and &kdesrc-build; will then finish reading the configuration file, source the
prefix.sh to apply environment variables, and then execute the given program.</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-revision">
<term><option><link linkend="cmdline-revision">--revision</link></option> <replaceable>id</replaceable></term>
<listitem><para>
This option causes &kdesrc-build; to checkout a specific numbered revision
for each &git; module, overriding any <link linkend="conf-branch">branch</link>,
<link linkend="conf-tag">tag</link>, or <link linkend="conf-revision">revision</link>
options already set for these modules.</para>

<para>This option is likely not a good idea, and is only supported for
compatibility with older scripts.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-delete-my-patches">
<term><option><link linkend="cmdline-delete-my-patches">--delete-my-patches</link></option>, <option>--no-delete-my-patches</option></term>
<listitem><para>
This option is used to let &kdesrc-build; delete source directories that may
contain user data, so that the module can be re-downloaded. This would normally
only be useful for &kde; developers (who might have local changes that would be
deleted).</para>

<para>You should not use this option normally,
&kdesrc-build; will prompt to be re-run with it if it is needed.</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-delete-my-settings">
<term><option><link linkend="cmdline-delete-my-settings">--delete-my-settings</link></option>, <option>--no-delete-my-settings</option></term>
<listitem><para>
This option is used to let &kdesrc-build; overwrite existing files which may contain
user data.</para>

<para>This is currently only used for xsession setup for the login manager. You
should not use this option normally, &kdesrc-build; will prompt to be re-run
with it if it is needed.</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-option-name">
<term><option><link linkend="cmdline-option-name">--<replaceable>&lt;option-name&gt;</replaceable></link></option> <replaceable>value</replaceable></term>
<listitem><para>
You can use this option to override an option in your <link linkend="configure-data">configuration file</link> for
every module. For instance, to override the <link
linkend="conf-log-dir">log-dir</link> option, you would do:
<userinput><parameter>--log-dir <filename class="directory"><replaceable>/path/to/dir</replaceable></filename></parameter></userinput>.
</para>

<note><para>This feature can only be used for option names already recognized
by &kdesrc-build;, that are not already supported by relevant command line
options.  For example the <link linkend="conf-async">async</link> configuration
file option has specific <link linkend="cmdline-async">--async</link> and <link
linkend="cmdline-async">--no-async</link> command line options that are
preferred by &kdesrc-build;.
</para></note>

</listitem>
</varlistentry>

<varlistentry id="cmdline-set-module-option-value">
<term><option><link linkend="cmdline-set-module-option-value">--set-module-option-value</link> <replaceable>&lt;module-name&gt;</replaceable>,<replaceable>&lt;option-name&gt;</replaceable>,<replaceable>&lt;option-value&gt;</replaceable></option></term>
<listitem><para>
You can use this option to override an option in your <link linkend="configure-data">configuration file</link> for
a specific module.
</para></listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2>
<title>Resuming and stopping</title>
<variablelist>

<varlistentry id="cmdline-resume-from">
<term><option><link linkend="cmdline-resume-from">--resume-from</link></option> (or <option>--from</option> or <option>-f</option>) <replaceable>module</replaceable></term>
<listitem><para>This option is used to resume the build starting from the given module. You should not
specify other module names on the command line.
</para>

<note><para>If you want to avoid source updates
when resuming, simply pass <option>--no-src</option>
in addition to the other options.
</para></note>

<para>See also: <link linkend="cmdline-resume-after">--resume-after</link> and <xref
linkend="resuming-failed"/>. You would prefer to use this command line option
if you have fixed the build error and want &kdesrc-build; to complete the
build.</para></listitem>
</varlistentry>

<varlistentry id="cmdline-resume-after">
<term><option><link linkend="cmdline-resume-after">--resume-after</link></option> (or <option>--after</option> or <option>-a</option>) <replaceable>module</replaceable></term>
<listitem><para>
This option is used to resume the build starting after the given module. You should not
specify other module names on the command line.
</para>

<note><para>If you want to avoid source updates
when resuming, simply pass <option><userinput>--no-src</userinput></option>
in addition to the other options.
</para></note>

<para>See also: <link linkend="cmdline-resume-from">--resume-from</link> and <xref
linkend="resuming-failed"/>. You would prefer to use this command line option
if you have fixed the build error and have also built and installed the module
yourself, and want &kdesrc-build; to start again with the next
module.</para></listitem>
</varlistentry>

<varlistentry id="cmdline-resume">
<term><option><link linkend="cmdline-resume">--resume</link></option></term>
<listitem><para>

This option can be used to run &kdesrc-build; after it has had a build failure.
</para><para>
It resumes the build from the module that failed, using the list of modules
that were waiting to be built before, and disables source and metadata updates
as well. The use case is when a simple mistake or missing dependency causes the
build failure. Once you correct the error you can quickly get back into
building the modules you were building before, without fiddling with
<option><link linkend="cmdline-resume-from">--resume-from</link></option> and
<option><link linkend="cmdline-stop-before">--stop-before</link></option>.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-stop-before">
<term><option><link linkend="cmdline-stop-before">--stop-before</link></option> (or <option>--until</option>) <replaceable>module</replaceable></term>
<listitem><para>
This option is used to stop the normal build process just
<emphasis>before</emphasis> a module would ordinarily be built.
</para><para>
For example, if the normal build list was <simplelist type="inline">
<member>moduleA</member><member>moduleB</member><member>moduleC</member></simplelist>,
then <option>--stop-before <replaceable>moduleB</replaceable></option> would cause
&kdesrc-build; to only build <literal>moduleA</literal>.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-stop-after">
<term><option><link linkend="cmdline-stop-after">--stop-after</link></option> (or <option>--to</option>) <replaceable>module</replaceable></term>
<listitem><para>
This option is used to stop the normal build process just
<emphasis>after</emphasis> a module would ordinarily be built.
</para><para>
For example, if the normal build list was <simplelist type="inline">
<member>moduleA</member><member>moduleB</member><member>moduleC</member></simplelist>,
then <option>--stop-after <replaceable>moduleB</replaceable></option> would cause
&kdesrc-build; to build <literal>moduleA</literal> and <literal>moduleB</literal>.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-stop-on-failure">
<term><option><link linkend="cmdline-stop-on-failure">--stop-on-failure</link></option>, <option>--no-stop-on-failure</option></term>
<listitem><para>
This option controls if the build will be aborted as soon as a failure occurs.
Default behavior is --stop-on-failure. You may override it if you wish to press on with the rest of the modules in the build,
to avoid wasting time in case the problem is with a single module.
</para><para>
See also the <link linkend="conf-stop-on-failure">stop-on-failure</link> configuration file option.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-rebuild-failures">
<term><option><link linkend="cmdline-rebuild-failures">--rebuild-failures</link></option></term>
<listitem><para>
Use this option to build only those modules which failed to build on a previous
&kdesrc-build; run. This is useful if a significant number of failures occurred mixed with
successful builds. After fixing the issue causing the build failures you can then easily
build only the modules that failed previously.</para>

<note><para>Note that the list of <quote>previously-failed modules</quote> is
reset every time a &kdesrc-build; run finishes with some module failures.
However, it is not reset by a completely successful build, so you can
successfully rebuild a module or two and this flag will still
work.</para></note>
</listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2>
<title>Modules information</title>
<variablelist>

<varlistentry id="cmdline-query">
<term><option><link linkend="cmdline-query">--query</link></option> <userinput><replaceable>mode</replaceable></userinput></term>
<listitem><para>
This command causes &kdesrc-build; to query a parameter of the modules in the
build list (either passed on the command line or read in from the configuration
file), outputting the result to screen (one module per line).</para>

<para>This option must be provided with a <quote>mode</quote>, which may be
one of the following:</para>
    <itemizedlist>
    <listitem><para><parameter>source-dir</parameter>, which causes &kdesrc-build; to
        output the full path to where the module's source code is stored.
        </para></listitem>
    <listitem><para><parameter>build-dir</parameter>, which causes &kdesrc-build; to
        output the full path to where the module build process occurs.
        </para></listitem>
    <listitem><para><parameter>install-dir</parameter>, which causes &kdesrc-build; to
        output the full path to where the module will be installed.
        </para></listitem>
    <listitem><para><parameter>project-path</parameter>, which causes &kdesrc-build; to
        output the location of the module within the hierarchy of KDE source
        code repositories. See <xref linkend="kde-projects-module-sets"/> for
        more information on this hierarchy.
        </para></listitem>
    <listitem><para><parameter>branch</parameter>, which causes &kdesrc-build; to
        output the resolved git branch that will be used for each module, based
        on the <link linkend="conf-tag">tag</link>, <link
        linkend="conf-branch">branch</link> and <link
        linkend="conf-branch-group">branch-group</link> settings in effect.
        </para></listitem>
    <listitem><para><parameter>module-set</parameter>, which causes &kdesrc-build; to
        output the name of module-set which contains the module. This can be used
        to generate zsh autocompletion cache.
        </para></listitem>
    <listitem><para><parameter>build-system</parameter>, which causes &kdesrc-build; to
        output the name of build system detected for the module. This can be used
        to debug build system auto-detection problems, or when developing tests for specific build systems.
        </para></listitem>
    <listitem><para>Any option name that is valid for modules in the
        <link linkend="conf-options-table">configuration file</link>.
        </para></listitem>
    </itemizedlist>

<informalexample>
<para>For example, the command <userinput><command>kdesrc-build</command>
<option>--query</option> <option>branch</option> <replaceable>kactivities</replaceable> <replaceable>kdepim</replaceable></userinput>
might end up with output like:</para>
<screen>
kactivities: master
kdepim: master
</screen>
</informalexample>
</listitem>
</varlistentry>

<varlistentry id="cmdline-dependency-tree">
<term><option><link linkend="cmdline-dependency-tree">--dependency-tree</link></option></term>
<listitem>
<para>
    Prints out dependency information on the modules that would be built using a tree
    format (recursive). Listed information also includes which specific commit/branch/tag
    is depended on and whether the dependency would be built. Note: the generated
    output may become quite large for applications with many dependencies.
</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-dependency-tree-fullpath">
<term><option><link linkend="cmdline-dependency-tree-fullpath">--dependency-tree-fullpath</link></option></term>
<listitem>
<para>
    Prints out dependency information on the modules that would be built using a tree
    format (recursive). In fullpath format. Note: the generated
    output may become quite large for applications with many dependencies.
</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-list-installed">
<term><option><link linkend="cmdline-list-installed">--list-installed</link></option></term>
<listitem>
<para>
Print installed modules and exit. This can be used to generate autocompletion for the --run option.
</para>
</listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2>
<title>Exclude specific action</title>
<variablelist>

<varlistentry id="cmdline-no-metadata">
<term><option><link linkend="cmdline-no-metadata">--no-metadata</link></option> (or <option>-M</option>)</term>
<listitem><para>
Do not automatically download the extra metadata needed for &kde; git modules.
The source updates for the modules themselves will still occur unless you pass
<link linkend="cmdline-no-src">--no-src</link> as well.
</para><para>
This can be useful if you are frequently re-running &kdesrc-build; since the
metadata does not change very often. But note that many other features require
the metadata to be available. You might want to consider running &kdesrc-build;
with the <link linkend="cmdline-metadata-only">--metadata-only</link> option
one time and then using this option for subsequent runs.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-no-src">
<term><option><link linkend="cmdline-no-src">--no-src</link></option> (or <option>-S</option>)</term>
<listitem><para>
Skip contacting the &git; server.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-no-build">
<term><option><link linkend="cmdline-no-build">--no-build</link></option></term>
<listitem><para>
Skip the build process.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-no-install">
<term><option><link linkend="cmdline-no-install">--no-install</link></option></term>
<listitem><para>
Do not automatically install packages after they are built.
</para></listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2>
<title>Only specific action</title>
<variablelist>

<varlistentry id="cmdline-metadata-only">
<term><option><link linkend="cmdline-metadata-only">--metadata-only</link></option></term>
<listitem><para>
Only perform the metadata download process. &kdesrc-build; normally handles this
automatically, but you might manually use this to allow the <option><link
linkend="cmdline-pretend">--pretend</link></option> command line option to work.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-src-only">
<term><option><link linkend="cmdline-src-only">--src-only</link></option> (or <option>-s</option>)</term>
<listitem><para>
Only perform the source update.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-build-only">
<term><option><link linkend="cmdline-build-only">--build-only</link></option></term>
<listitem><para>
Only perform the build process.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-install-only">
<term><option><link linkend="cmdline-install-only">--install-only</link></option></term>
<listitem><para>
If this is the only command-line option, it tries to install all the modules
contained in <filename>log/latest/build-status</filename>. If command-line
options are specified after this option, they are all
assumed to be modules to install (even if they did not successfully build on
the last run).
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-build-system-only">
<term><option><link linkend="cmdline-build-system-only">--build-system-only</link></option></term>
<listitem><para>
This option causes &kdesrc-build; to abort building a module just before
the <command>make</command> command would have been run. This is supported
for compatibility with older versions only, this effect is not helpful for
the current &kde; build system.
</para></listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2>
<title>Build behavior</title>
<variablelist>

<varlistentry id="cmdline-build-when-unchanged">
<term><option><link linkend="cmdline-build-when-unchanged">--build-when-unchanged</link></option> (or <option>--force-build</option>), <option>--no-build-when-unchanged</option> (or <option>--no-force-build</option>)</term>
<listitem><para>
Enabling this option explicitly disables skipping the build process (an optimization
controlled by the <link
linkend="conf-build-when-unchanged">build-when-unchanged</link> option). This is
useful for making &kdesrc-build; run the build when you have changed something
that &kdesrc-build; cannot check. This option is enabled by default.</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-refresh-build">
<term><option><link linkend="cmdline-refresh-build">--refresh-build</link></option> (or <option>-r</option>)</term>
<listitem><para>
Recreate the build system and make from scratch.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-reconfigure">
<term><option><link linkend="cmdline-reconfigure">--reconfigure</link></option></term>
<listitem><para>
Run <command>cmake</command> (for &kde; modules) or
<command>configure</command> (for &Qt;) again, without cleaning the build
directory. You should not normally have to specify this, as &kdesrc-build; will
detect when you change the relevant options and automatically re-run the build
setup. This option is implied if <parameter><link
linkend="cmdline-refresh-build">--refresh-build</link></parameter> is used.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-install-dir">
<term><option><link linkend="cmdline-install-dir">--install-dir</link> <replaceable>path</replaceable></option></term>
<listitem><para>
This allows you to change the directory where modules will be installed to. This option implies <link
linkend="cmdline-reconfigure"><option>--reconfigure</option></link>,
but using <link linkend="cmdline-refresh-build"><option>--refresh-build</option></link>
may still be required.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-generate-vscode-project-config">
<term><option><link linkend="cmdline-generate-vscode-project-config">--generate-vscode-project-config</link></option>, <option>--no-generate-vscode-project-config</option></term>
<listitem><para>
Generate a <filename>.vscode</filename> directory with configurations for building and debugging
in Visual Studio Code. This option is disabled by default.
</para></listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2>
<title>Script runtime</title>
<variablelist>

<varlistentry id="cmdline-async">
<term><option><link linkend="cmdline-async">--async</link></option>, <option>--no-async</option></term>
<listitem><para>
Enables or disables the <link linkend="conf-async">asynchronous mode</link>, which can
perform the source code updates and module builds at the same time.
If disabled, the update will be performed in its entirety before the build starts.
Disabling this option will slow down the overall process. If you encounter IPC errors
while running &kdesrc-build; try disabling it, and submitting a
<ulink url="https://bugs.kde.org/">bug report</ulink>. This option is enabled by default.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-color">
<term><option><link linkend="cmdline-color">--color</link></option> (or <option>--colorful-output</option>), <option>--no-color</option> (or <option>--no-colorful-output</option>)</term>
<listitem><para>
Enable or disable colorful output. By default, this option is enabled for interactive terminals.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-nice">
<term><option><link linkend="cmdline-nice">--nice</link></option> (or <option>--niceness</option>) <replaceable>value</replaceable></term>
<listitem><para>
This value adjusts the computer CPU priority requested by &kdesrc-build;, and
should be in the range of 0-20. 0 is highest priority (because it is the
least <quote>nice</quote>), 20 is the lowest priority. This option defaults to 10.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-rc-file">
<term><option><link linkend="cmdline-rc-file">--rc-file</link></option> <replaceable>file</replaceable></term>
<listitem><para>
The file to read the configuration options from. The default value for this parameter is
<filename>kdesrc-buildrc</filename> (checked in the current working directory).
If this file doesn't exist, <filename>~/.config/kdesrc-buildrc</filename>
(<filename>$XDG_CONFIG_HOME/kdesrc-buildrc</filename>, if
<envar>$XDG_CONFIG_HOME</envar> is set) will be used instead. See also
<xref linkend="kdesrc-buildrc"/>.
</para></listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2>
<title>Setup</title>
<variablelist>

<varlistentry id="cmdline-initial-setup">
<term><option><link linkend="cmdline-initial-setup">--initial-setup</link></option></term>
<listitem><para>
Has &kdesrc-build; perform the one-time initial setup necessary to prepare
the system for &kdesrc-build; to operate, and for the newly-installed &kde;
software to run.
</para>
<para>This includes:</para>
<itemizedlist>
<listitem><para>Installing known dependencies (on supported &Linux; distributions)</para></listitem>
<listitem><para>Adding required environment variables to <literal>~/.bashrc</literal></para></listitem>
</itemizedlist>
<para>This option is exactly equivalent to using
    <option><link linkend="cmdline-install-distro-packages">--install-distro-packages</link></option>
    <option><link linkend="cmdline-generate-config">--generate-config</link></option>
    at the same time.
    In kdesrc-build (perl implementation) it additionally uses "--install-distro-packages-perl".
</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-install-distro-packages">
<term><option><link linkend="cmdline-install-distro-packages">--install-distro-packages</link></option></term>
<listitem><para>
Installs distro packages (on supported &Linux; distributions) necessary to prepare the system for &kdesrc-build; to operate, and for the newly-installed &kde;
software to run.
</para>
<para>See also <option><link linkend="cmdline-initial-setup">--initial-setup</link></option></para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-generate-config">
<term><option><link linkend="cmdline-generate-config">--generate-config</link></option></term>
<listitem><para>
Generate the &kdesrc-build; configuration file.
</para>
<para>See also <option><link linkend="cmdline-initial-setup">--initial-setup</link></option></para>
</listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2>
<title>Verbosity level</title>
<para>

</para>
<variablelist>

<varlistentry id="cmdline-debug">
<term><option><link linkend="cmdline-debug">--debug</link></option></term>
<listitem><para>
Enables debug mode for the script. Currently, this means that all output will be
dumped to the standard output in addition to being logged in the log directory
like normal. Also, many functions are much more verbose about what they are
doing in debugging mode.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-quiet">
<term><option><link linkend="cmdline-quiet">--quiet</link></option> (or <option>--quite</option> or <option>-q</option>)</term>
<listitem><para>
Do not be as noisy with the output. With this switch only the basics are
output.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-really-quiet">
<term><option><link linkend="cmdline-really-quiet">--really-quiet</link></option></term>
<listitem><para>
Only output warnings and errors.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-verbose">
<term><option><link linkend="cmdline-verbose">--verbose</link></option></term>
<listitem><para>
Be very descriptive about what is going on, and what &kdesrc-build; is doing.
</para></listitem>
</varlistentry>

</variablelist>
</sect2>

<sect2>
<title>Script information</title>
<variablelist>

<varlistentry id="cmdline-version">
<term><option><link linkend="cmdline-version">--version</link></option> (or <option>-v</option>)</term>
<listitem><para>
Display the program version.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-help">
<term><option><link linkend="cmdline-help">--help</link></option> (or <option>-h</option>)</term>
<listitem><para>
Only display simple help on this script.
</para></listitem>
</varlistentry>

<varlistentry id="cmdline-show-info">
<term><option><link linkend="cmdline-show-info">--show-info</link></option></term>
<listitem><para>
Displays information about &kdesrc-build; and the operating system, that may
prove useful in bug reports or when asking for help in forums or mailing lists.
</para>
</listitem>
</varlistentry>

<varlistentry id="cmdline-show-options-specifiers">
<term><option><link linkend="cmdline-show-options-specifiers">--show-options-specifiers</link></option></term>
<listitem><para>
Print the specifier lines (in the format that GetOpts::Long accepts) for all command line options supported by the script.
This may be used by developers, for example, for generating zsh autocompletion functions.
</para></listitem>
</varlistentry>

</variablelist>

</sect2>
</sect1>
