[jhbuild] cmake: document force-non-srcdir-builds attribute
- From: Alberts Muktupāvels <muktupavels src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [jhbuild] cmake: document force-non-srcdir-builds attribute
- Date: Fri, 4 Aug 2017 23:18:17 +0000 (UTC)
commit 514b75d81c9b1723ba56a7cd1e2f8a646d408d35
Author: Alberts Muktupāvels <alberts muktupavels gmail com>
Date: Wed Aug 2 16:55:34 2017 +0300
cmake: document force-non-srcdir-builds attribute
Commit 36c637705c1444b93c87d0b46dda21848a56cc56 added support for
this attribute, but added documentation to wrong module.
At same time add this attribute to moduleset.dtd and moduleset.rnc
files.
https://bugzilla.gnome.org/show_bug.cgi?id=785836
doc/C/index.docbook | 7 ++++++-
jhbuild/modtypes/cmake.py | 6 +++++-
modulesets/moduleset.dtd | 3 ++-
modulesets/moduleset.rnc | 4 +++-
4 files changed, 16 insertions(+), 4 deletions(-)
---
diff --git a/doc/C/index.docbook b/doc/C/index.docbook
index e8e896c..159883b 100644
--- a/doc/C/index.docbook
+++ b/doc/C/index.docbook
@@ -3012,7 +3012,8 @@ Optional packages: (JHBuild will build the missing packages)
<programlisting>
<cmake id="<replaceable>modulename</replaceable>"
[ skip-install="<replaceable>skip-install</replaceable>" ]
- [ cmakedir="<replaceable>cmakedir</replaceable>" ]>
+ [ cmakedir="<replaceable>cmakedir</replaceable>" ]
+ [ force-non-srcdir-builds="<replaceable>force-non-srcdir-builds</replaceable>" ]>
<branch [ ... ] >
[...]
</branch>
@@ -3031,6 +3032,10 @@ Optional packages: (JHBuild will build the missing packages)
<para>The <sgmltag class="attribute">cmakedir</sgmltag> attribute
specifies the subdirectory where cmake will run in relation to srcdir.
</para>
+
+ <para>The <sgmltag class="attribute">force-non-srcdir-builds</sgmltag>
+ attribute is used to mark modules that can't be cleanly built from
+ the source directory, but can be built from outside it.</para>
</section>
<section id="moduleset-syntax-defs-meson">
diff --git a/jhbuild/modtypes/cmake.py b/jhbuild/modtypes/cmake.py
index c41d84b..d7868db 100644
--- a/jhbuild/modtypes/cmake.py
+++ b/jhbuild/modtypes/cmake.py
@@ -170,7 +170,11 @@ class CMakeModule(MakeModule, DownloadableModule):
return 'cmake', [('id', 'name', None),
('skip-install', 'skip_install_phase', False),
('use-ninja', 'use_ninja', True),
- ('cmakedir', None)]
+ ('cmakedir', None),
+ ('supports-non-srcdir-builds',
+ 'supports_non_srcdir_builds', True),
+ ('force-non-srcdir-builds',
+ 'force_non_srcdir_builds', False)]
def parse_cmake(node, config, uri, repositories, default_repo):
diff --git a/modulesets/moduleset.dtd b/modulesets/moduleset.dtd
index bee1a6a..c4f8491 100644
--- a/modulesets/moduleset.dtd
+++ b/modulesets/moduleset.dtd
@@ -110,7 +110,8 @@
id CDATA #REQUIRED
cmakeargs CDATA #IMPLIED
makeargs CDATA #IMPLIED
- supports-non-srcdir-builds (yes|no) "yes">
+ supports-non-srcdir-builds (yes|no) "yes"
+ force-non-srcdir-builds (yes|no) "no">
<!ELEMENT cmakeargs EMPTY>
<!ATTLIST cmakeargs value CDATA #REQUIRED>
diff --git a/modulesets/moduleset.rnc b/modulesets/moduleset.rnc
index a67abed..e46dcdb 100644
--- a/modulesets/moduleset.rnc
+++ b/modulesets/moduleset.rnc
@@ -154,7 +154,9 @@ cmake = element cmake { attlist.cmake, cmakeargsif*, cmakeargs*, makeargs*, pkg-
attlist.cmake &=
attribute id { text },
attribute cmakeargs { text }?,
- attribute makeargs { text }?
+ attribute makeargs { text }?,
+ attribute supports-non-srcdir-builds { "yes" | "no" }?,
+ attribute force-non-srcdir-builds { "yes" | "no" }?
cmakeargs = element cmakeargs { attlist.cmakeargs }
attlist.cmakeargs &= attribute value { text }
mesonargsif = element if { attlist.if, mesonargsif*, mesonargs*, makeargs* }
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]