... |
... |
@@ -23,6 +23,50 @@ BuildElement - Abstract class for build elements |
23
|
23
|
The BuildElement class is a convenience element one can derive from for
|
24
|
24
|
implementing the most common case of element.
|
25
|
25
|
|
|
26
|
+Built-in functionality
|
|
27
|
+----------------------
|
|
28
|
+
|
|
29
|
+The BuildElement base class provides built in functionality that could be
|
|
30
|
+overridden by the individual plugins.
|
|
31
|
+
|
|
32
|
+This section will give a brief summary of how some of the common features work,
|
|
33
|
+some of them or the variables they use will be further detailed in the following
|
|
34
|
+sections.
|
|
35
|
+
|
|
36
|
+Location for running commands
|
|
37
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
38
|
+The ``command-subdir`` variable sets where the build commands will be executed,
|
|
39
|
+if the directory does not exist it will be created, it is defined relative to
|
|
40
|
+the buildroot.
|
|
41
|
+
|
|
42
|
+Location for configuring the project
|
|
43
|
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
44
|
+The ``conf-root`` is defined by default as ``.`` and is the location that
|
|
45
|
+specific build element can use to look for build configuration files. This is
|
|
46
|
+used by elements such as autotools, cmake, distutils, meson, pip and qmake.
|
|
47
|
+
|
|
48
|
+The configuration commands are run in ``command-subdir`` and by default
|
|
49
|
+``conf-root`` is ``.`` so if ``conf-root`` is not set the configuration files
|
|
50
|
+in ``command-subdir`` will be used.
|
|
51
|
+
|
|
52
|
+By setting ``conf-root`` to ``"%{build-root}/Source/conf_location"`` and your
|
|
53
|
+source elements ``directory`` variable to ``Source`` then the configuration
|
|
54
|
+files in the directory ``conf_location`` with in your Source will be used.
|
|
55
|
+The current working directory when your configuration command is run will still
|
|
56
|
+be wherever you set your ``command-subdir`` to be, regardless of where the
|
|
57
|
+configure scripts are set with ``conf-root``.
|
|
58
|
+
|
|
59
|
+.. note::
|
|
60
|
+
|
|
61
|
+ The ``conf-root`` variable is available since :ref:`format version 17 <project_format_version>`
|
|
62
|
+
|
|
63
|
+Install Location
|
|
64
|
+~~~~~~~~~~~~~~~~
|
|
65
|
+
|
|
66
|
+You should not change the ``install-root`` variable as it is a special
|
|
67
|
+writeable location in the sandbox but it is useful when writing custom
|
|
68
|
+install instructions as it may need to be supplied as the ``DESTDIR``, please
|
|
69
|
+see the :mod:`cmake <elements.cmake>` build element for example.
|
26
|
70
|
|
27
|
71
|
Abstract method implementations
|
28
|
72
|
-------------------------------
|