diff options
author | Thomas Coldrick <thomas.coldrick@codethink.co.uk> | 2019-08-07 09:05:22 +0100 |
---|---|---|
committer | Thomas Coldrick <thomas.coldrick@codethink.co.uk> | 2019-08-08 08:23:17 +0100 |
commit | 9dd32a5683c46245dcccfad1ee22ca53f6c012b6 (patch) | |
tree | 7aa782d8572a18266d76c7b2d8f70c4cb6775b6e /src/buildstream/plugins/elements | |
parent | 2d670f1963f83ffbf146e90500b517e77b24db62 (diff) | |
download | buildstream-9dd32a5683c46245dcccfad1ee22ca53f6c012b6.tar.gz |
Move cmake plugin to bst-plugins-experimentalcoldtom/move-cmake
It was agreed on the mailing list to move all plugins to a single
repository, before moving them into domain-specific repositories. As
a result it seems reasonable to move everything to the
bst-plugins-experimental repo as this stepping stone, rather than
creating a whole new repo.
This commit starts the process of moving things over by moving only the
cmake plugin to bst-plugins-experimental, and altering the tests to
reflect the new location.
Diffstat (limited to 'src/buildstream/plugins/elements')
-rw-r--r-- | src/buildstream/plugins/elements/cmake.py | 74 | ||||
-rw-r--r-- | src/buildstream/plugins/elements/cmake.yaml | 72 |
2 files changed, 0 insertions, 146 deletions
diff --git a/src/buildstream/plugins/elements/cmake.py b/src/buildstream/plugins/elements/cmake.py deleted file mode 100644 index 74da04899..000000000 --- a/src/buildstream/plugins/elements/cmake.py +++ /dev/null @@ -1,74 +0,0 @@ -# -# Copyright (C) 2016, 2018 Codethink Limited -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library. If not, see <http://www.gnu.org/licenses/>. -# -# Authors: -# Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> - -""" -cmake - CMake build element -=========================== -This is a :mod:`BuildElement <buildstream.buildelement>` implementation for -using the `CMake <https://cmake.org/>`_ build system. - -You will often want to pass additional arguments to the ``cmake`` program for -specific configuration options. This should be done on a per-element basis by -setting the ``cmake-local`` variable. Here is an example: - -.. code:: yaml - - variables: - cmake-local: | - -DCMAKE_BUILD_TYPE=Debug - -If you want to pass extra options to ``cmake`` for every element in your -project, set the ``cmake-global`` variable in your project.conf file. Here is -an example of that: - -.. code:: yaml - - elements: - cmake: - variables: - cmake-global: | - -DCMAKE_BUILD_TYPE=Release - -Here is the default configuration for the ``cmake`` element in full: - - .. literalinclude:: ../../../src/buildstream/plugins/elements/cmake.yaml - :language: yaml - -See :ref:`built-in functionality documentation <core_buildelement_builtins>` for -details on common configuration options for build elements. -""" - -from buildstream import BuildElement, SandboxFlags - - -# Element implementation for the 'cmake' kind. -class CMakeElement(BuildElement): - # Supports virtual directories (required for remote execution) - BST_VIRTUAL_DIRECTORY = True - - # Enable command batching across prepare() and assemble() - def configure_sandbox(self, sandbox): - super().configure_sandbox(sandbox) - self.batch_prepare_assemble(SandboxFlags.ROOT_READ_ONLY, - collect=self.get_variable('install-root')) - - -# Plugin entry point -def setup(): - return CMakeElement diff --git a/src/buildstream/plugins/elements/cmake.yaml b/src/buildstream/plugins/elements/cmake.yaml deleted file mode 100644 index ba20d7ce6..000000000 --- a/src/buildstream/plugins/elements/cmake.yaml +++ /dev/null @@ -1,72 +0,0 @@ -# CMake default configuration - -variables: - - build-dir: _builddir - - # Project-wide extra arguments to be passed to `cmake` - cmake-global: '' - - # Element-specific extra arguments to be passed to `cmake`. - cmake-local: '' - - # For backwards compatibility only, do not use. - cmake-extra: '' - - # The cmake generator to use - generator: Unix Makefiles - - cmake-args: | - - -DCMAKE_INSTALL_PREFIX:PATH="%{prefix}" \ - -DCMAKE_INSTALL_LIBDIR:PATH="%{lib}" %{cmake-extra} %{cmake-global} %{cmake-local} - - cmake: | - - cmake -B%{build-dir} -H"%{conf-root}" -G"%{generator}" %{cmake-args} - - make: cmake --build %{build-dir} -- ${JOBS} - make-install: env DESTDIR="%{install-root}" cmake --build %{build-dir} --target install - - # Set this if the sources cannot handle parallelization. - # - # notparallel: True - -config: - - # Commands for configuring the software - # - configure-commands: - - | - %{cmake} - - # Commands for building the software - # - build-commands: - - | - %{make} - - # Commands for installing the software into a - # destination folder - # - install-commands: - - | - %{make-install} - - # Commands for stripping debugging information out of - # installed binaries - # - strip-commands: - - | - %{strip-binaries} - -# Use max-jobs CPUs for building and enable verbosity -environment: - JOBS: -j%{max-jobs} - V: 1 - -# And dont consider JOBS or V as something which may -# affect build output. -environment-nocache: -- JOBS -- V |