blob: 74557ce7bff90deccd33c7b9dba661b702a2cff8 [file] [log] [blame]
.. _using-snippets:
Using Snippets
##############
.. tip::
See :ref:`built-in-snippets` for a list of snippets that are provided by
Zephyr.
Snippets have names. You use snippets by giving their names to the build
system.
With west build
***************
To use a snippet named ``foo`` when building an application ``app``:
.. code-block:: console
west build -S foo app
To use multiple snippets:
.. code-block:: console
west build -S snippet1 -S snippet2 [...] app
With cmake
**********
If you are running CMake directly instead of using ``west build``, use the
``SNIPPET`` variable. This is a whitespace- or semicolon-separated list of
snippet names you want to use. For example:
.. code-block:: console
cmake -Sapp -Bbuild -DSNIPPET="snippet1;snippet2" [...]
cmake --build build
Application required snippets
*****************************
If an application should always be compiled with a given snippet, it
can be added to that application's ``CMakeLists.txt`` file. For example:
.. code-block:: cmake
if(NOT snippet1 IN_LIST SNIPPET)
set(SNIPPET snippet1 ${SNIPPET} CACHE STRING "" FORCE)
endif()
find_package(Zephyr ....)