You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.1 KiB
53 lines
1.1 KiB
.. _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 ....)
|
|
|