<refentry id="glib-compile-schemas" lang="en">

<refmeta>
  <refentrytitle>glib-compile-schemas</refentrytitle>
  <manvolnum>1</manvolnum>
  <refmiscinfo class="manual">User Commands</refmiscinfo>
</refmeta>

<refnamediv>
  <refname>glib-compile-schemas</refname>
  <refpurpose>GSettings schema compiler</refpurpose>
</refnamediv>

<refsynopsisdiv>
  <cmdsynopsis>
    <command>glib-compile-schemas</command>
    <arg choice="opt" rep="repeat">option</arg>
    <arg choice="req">directory</arg>
  </cmdsynopsis>
</refsynopsisdiv>

<refsect1><title>Description</title>
<para><command>glib-compile-schemas</command> compiles all the GSettings XML
schema files in <replaceable>directory</replaceable> into a binary file
with the name <filename>gschemas.compiled</filename> that can be used
by <link linkend="GSettings"><type>GSettings</type></link>. The XML schema
files must have the filename extension <filename>.gschema.xml</filename>.
For a detailed description of the XML file format, see the
<link linkend="GSettings"><type>GSettings</type></link> documentation.
</para>
<para>
At runtime, GSettings looks for schemas in the
<filename>glib-2.0/schemas</filename> subdirectories of all directories
specified in the <envar>XDG_DATA_DIRS</envar> environment variable. The
usual location to install schema files is
<filename>/usr/share/glib-2.0/schemas</filename>.
</para>

<refsect2><title>Options</title>
<variablelist>

<varlistentry>
<term><option>-h</option>, <option>--help</option></term>
<listitem><para>
Print help and exit
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>--targetdir=<replaceable>TARGETDIR</replaceable></option></term>
<listitem><para>
Store <filename>gschemas.compiled</filename> in <replaceable>TARGETDIR</replaceable> instead of <replaceable>directory</replaceable>.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>--dry-run</option></term>
<listitem><para>
Don't write <filename>gschemas.compiled</filename>. This option can be used
to check <filename>.gschema.xml</filename> sources for errors.
</para></listitem>
</varlistentry>

<varlistentry>
<term><option>--allow-any-name</option></term>
<listitem><para>
Do not enforce restrictions on key names. Note that this option is purely
to facility the transition from GConf, and will be removed at some time
in the future.
</para></listitem>
</varlistentry>

</variablelist>
</refsect2>
</refsect1>
<refsect1><title>See also</title>
<para>
<citerefentry>
  <refentrytitle>gsettings-schema-convert</refentrytitle>
  <manvolnum>1</manvolnum>
</citerefentry> is a utility to convert GConf schemas into GSettings schemas.
</para>
</refsect1>
</refentry>

