Git commit 6b226e2ce10c359f7b803a160020dcec7ec5b8ac by Michael Pyne. Committed on 04/05/2019 at 20:15. Pushed by ashark into branch 'docbook_historied_per_file'.
Add support for Meson build system. New/updated config file options: * 'configure-flags', reused as the way to pass cmdline options to the meson setup command. * 'ninja-options', a new option to pass cmdline options to the `ninja` command. Note that ninja is mandated by Meson as the underlying build tool. Tested with https://github.com/plibither8/2048.cpp Fixes #27, reviewed in !8. Test suite passes and I continue to be able to build 2048.cpp. I've also validated that ninja-options is passed to ninja when building 2048.cpp, though this was a manual verification. CCBUG:406268 Original commit: 6385f5e4 https://invent.kde.org/sdk/kdesrc-build/-/commit/6385f5e429dd11393b48690a33d67a66edeacfd2 M +43 -2 doc/kdesrc-buildrc/conf-options-table.docbook https://invent.kde.org/sdk/kdesrc-build/-/commit/6b226e2ce10c359f7b803a160020dcec7ec5b8ac diff --git a/doc/kdesrc-buildrc/conf-options-table.docbook b/doc/kdesrc-buildrc/conf-options-table.docbook index f9875f8f..e03acc8d 100644 --- a/doc/kdesrc-buildrc/conf-options-table.docbook +++ b/doc/kdesrc-buildrc/conf-options-table.docbook @@ -720,10 +720,15 @@ please be careful while dealing with root privileges.</entry> <row id="conf-make-options"> <entry>make-options</entry> <entry>Module setting overrides global (build system option)</entry> -<entry>Set this variable in order to pass command line options to the +<entry><para>Set this variable in order to pass command line options to the <command>make</command> command. This is useful for programs such as <ulink url="https://github.com/distcc/distcc"><application>distcc</application></ulink> or -systems with more than one processor core. +systems with more than one processor core.</para> +<para>Note that not all supported build systems use <command>make</command>. For +build systems that use <command>ninja</command> for build (such as the +<link linkend="conf-override-build-system"><application>Meson</application> +build system</link>), see the <link linkend="conf-ninja-options">ninja-options</link> +setting.</para> </entry> </row> @@ -781,6 +786,36 @@ number, the "nicer" the program is. The default is 10. </entry> </row> +<row id="conf-ninja-options"> +<entry>ninja-options</entry> +<entry>Module setting overrides global (build system option)</entry> +<entry><para>Set this variable in order to pass command line options to the + +<command>ninja</command> build command. This can be useful to enable <quote>verbose</quote> output +or to manually reduce the number of parallel build jobs that <command>ninja</command> would +use.</para> + +<note><para>Note that this setting only controls ninja when used by &kdesrc-build;. +The &Qt; <quote>webengine</quote> module uses <command>ninja</command> indirectly, but +only officially supports being built by <command>make</command>. +In this situation, you can set <literal>NINJAFLAGS</literal> as a way to have +<command>make</command> pass the appropriate flags when it later calls +<command>ninja</command>, by using +<link linkend="conf-make-options">make-options</link>.</para> + +<informalexample> +<programlisting> +options <replaceable>qtwebengine</replaceable> + # Restrict make and ninja to using no more than 6 separate compile jobs even + # when more CPU is available, to avoid running out of memory + <option><link linkend="conf-make-options">make-options</link></option> -j<replaceable>6</replaceable> NINJAFLAGS=-j<replaceable>6</replaceable> +end options +</programlisting> +</informalexample> +</note> +</entry> +</row> + <row id="conf-no-svn"> <entry>no-svn</entry> <entry>Module setting overrides global</entry> @@ -836,6 +871,12 @@ the auto-detection. In this case you can manually specify the correct build type <listitem><para>This is the standard configuration tool used for most Free and open-source software not in any of the other categories.</para></listitem> </varlistentry> + <varlistentry> + <term>meson</term> + <listitem><para>This is a <ulink url="https://mesonbuild.com">relatively new + tool</ulink> gaining popularity as a replacement for the autotools and may + be required for some non-&kde; modules.</para></listitem> + </varlistentry> </variablelist> </entry>
