Sha256: 923877c0b4b36f2392a42ab7103ed5ec70f3b7c9c482aafce3b8e3b605a3615e

Contents?: true

Size: 1.75 KB

Versions: 11

Compression:

Stored size: 1.75 KB

Contents

Prebuild configurations for distributions
*****************************************

This is a useful feature if you want to make a part of workspace available for third party without changing the configuration.

There are two major use cases:

- Only a few projects shall be closed source (e.g. to hide some algorithms)
- Only a few projects shall be open source (e.g. if a supplier has integrate a library)

Both is possible with bake, but the current UI is optimized for the latter one.

Add in the Project.meta the following code:

.. code-block:: console

    Prebuild {
      Except main, config: Debug
      Except newLib, config: Debug
      Except setup, config: Release
    }

It is possible to specify the Prebuild tags in all configurations, not only in the main configuration. Logically they will be merged.

In the example above, no configurations will be built - except those three. The prebuild output is used directly.

To reference a configuration of the same project, omit the project name, e.g.:

.. code-block:: console

    Except config: Base

To reference all configuration of a project, omit the config name, e.g.:

.. code-block:: console

    Except newLib


This prebuild behaviour must be explicitly turned on by using the following the command line argument:

.. code-block:: console

    --prebuild


Typical workflow
----------------

1. Compiling the workspace completely without prebuild feature.
2. Executing a distribution script which copies all relevant files to a distribution directory.
   Make sure to add all header files of prebuild libraries if they are needed for other non-prebuild libraries.
   You may use the dependency files in the output directory for that script.
3. In the distribution folder use "--prebuild" when compiling the workspace.


Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
bake-toolkit-2.23.12 documentation/_build/html/_sources/concepts/prebuild.txt
bake-toolkit-2.23.8 documentation/_build/html/_sources/concepts/prebuild.txt
bake-toolkit-2.23.7 documentation/_build/html/_sources/concepts/prebuild.txt
bake-toolkit-2.23.6 documentation/_build/html/_sources/concepts/prebuild.txt
bake-toolkit-2.23.5 documentation/_build/html/_sources/concepts/prebuild.txt
bake-toolkit-2.23.4 documentation/_build/html/_sources/concepts/prebuild.txt
bake-toolkit-2.23.3 documentation/_build/html/_sources/concepts/prebuild.txt
bake-toolkit-2.23.2 documentation/_build/html/_sources/concepts/prebuild.txt
bake-toolkit-2.23.1 documentation/_build/html/_sources/concepts/prebuild.txt
bake-toolkit-2.22.0 documentation/_build/html/_sources/concepts/prebuild.txt
bake-toolkit-2.21.0 documentation/_build/html/_sources/concepts/prebuild.txt