Go to file
Torsten Rasmussen 91709778a4 cmake: version.h generation performed at build time
Fixes: #39503
Fixes: #40167

This commit moves `BUILD_VERSION` CMake variable from a compile
definition to be a define inside version.h.

Besides the benefit of having related settings grouped in a common
header, it also means that an updated `BUILD_VERSION` value does not
need to trigger re-compilation of all source files.

When using compile definitions, CMake cannot tell whether a given source
files uses the definition or not, and hence all sources must be
recompiled to be sure they are up-to-date.

Placing `BUILD_VERSION` in version.h, the source dependencies ensures
that only source files including `version.h` gets recompiled.

As part of this, version.h generation is moved so that it is now done
at build time.
This means that re-generation of version.h is no longer depending on a
CMake re-run but can have it's own dependency in `.git/index` when git
described is used to obtain `BUILD_VERSION` information.

Generation of logging dictionary database has been updated to support
BUILD_VERSION from header file instead of CMake configure time variable.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2022-02-08 07:50:24 -05:00
.github github: Update github security page 2022-01-28 16:32:02 -05:00
arch arch: arm: core: aarch32: Use cmsis functions 2022-02-08 07:35:43 -05:00
boards boards: xtensa: Align testcase tags for intel_adsp boards 2022-02-08 07:26:45 -05:00
cmake cmake: version.h generation performed at build time 2022-02-08 07:50:24 -05:00
doc doc: remove reference to deleted Kconfig option 2022-02-08 07:02:47 -05:00
drivers drivers: display: st7789v: fix function argument 2022-02-08 07:31:07 -05:00
dts dts: rt11xx: Fix invalid SAI4 address 2022-02-04 09:05:31 -06:00
include arch: arm: core: aarch32: Use cmsis functions 2022-02-08 07:35:43 -05:00
kernel kernel/init.c: Initialise logging subsystem after arch 2022-01-26 10:09:19 -05:00
lib lib: os: crc: Rework the crc16() implementation 2022-02-04 12:33:22 -05:00
misc cmake: kconfig: fix issue if Kconfig symbol name contains lower case 2021-11-18 13:56:07 +01:00
modules soc: Added support for Raspberry Pi's RP2040 SoC 2022-02-02 16:23:35 +01:00
samples lib: os: crc: Rework the crc16() implementation 2022-02-04 12:33:22 -05:00
scripts cmake: version.h generation performed at build time 2022-02-08 07:50:24 -05:00
share cmake: check zephyr version if specified and ZEPHYR_BASE is set 2021-05-25 16:48:35 -05:00
soc soc: riscv: esp32c3: fixes flash size reference 2022-02-07 13:22:25 -05:00
submanifests west.yml: allow users to easily add more modules 2021-10-07 13:45:42 +02:00
subsys net: lib: lwm2m: make pathstr parameter const correct 2022-02-08 07:27:30 -05:00
tests tests: k_heap_api: make alloc pending tests a bit more robust 2022-02-08 07:34:48 -05:00
.checkpatch.conf checkpatch: Ignore IS_ENABLED_CONFIG warnings 2021-10-18 08:28:01 -04:00
.clang-format clang-format: Change lines length limit from 80 to 100 2021-05-06 08:13:32 -05:00
.codecov.yml
.editorconfig editorconfig: indent Kconfig files with tabs 2020-07-08 21:30:38 -04:00
.gitattributes gitattributes: consider SVG files generated 2021-10-14 12:42:44 -04:00
.gitignore gitignore: ignore macos DS_Store files 2021-11-03 16:14:20 -04:00
.gitlint gitlint: Stop ignoring merge, revert, fixup and squash commits 2022-01-10 08:13:36 -05:00
.mailmap mailmap: update mailmap file with some stray emails 2021-06-17 14:15:41 -04:00
.uncrustify.cfg uncrustify: force a single EOF newline 2021-11-03 16:14:20 -04:00
CMakeLists.txt cmake: version.h generation performed at build time 2022-02-08 07:50:24 -05:00
CODEOWNERS codeowners: Add Bluetooth controller tests 2022-02-04 11:23:05 +01:00
CODE_OF_CONDUCT.md
CONTRIBUTING.rst
Kconfig kconfig: Clean up header comments and make them consistent 2019-11-04 17:31:27 -05:00
Kconfig.zephyr soc: rp2040: Added UF2 output file support 2022-02-02 16:23:35 +01:00
LICENSE
MAINTAINERS.yml MAINTAINERS: Add SeppoTakalo as a collaborator for LwM2M 2022-02-07 13:23:09 -05:00
README.rst doc: replace buildkite with github actions 2021-11-24 12:37:30 -05:00
VERSION release: Zephyr 3.0.0-rc1 2022-01-24 15:31:45 -08:00
version.h.in cmake: version.h generation performed at build time 2022-02-08 07:50:24 -05:00
west.yml west.yml: Fix issue with stm32wb ble library 2022-02-04 11:18:40 +01:00
zephyr-env.cmd
zephyr-env.sh zephyr_env.sh: Remove semicolons at ends of lines 2019-12-10 14:34:46 -08:00

README.rst

.. raw:: html

   <a href="https://www.zephyrproject.org">
     <p align="center">
       <img src="doc/_static/images/logo-readme.png">
     </p>
   </a>

   <a href="https://bestpractices.coreinfrastructure.org/projects/74"><img
   src="https://bestpractices.coreinfrastructure.org/projects/74/badge"></a>
   <a
   href="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml?query=branch%3Amain">
   <img
   src="https://github.com/zephyrproject-rtos/zephyr/actions/workflows/twister.yaml/badge.svg?event=push"></a>


The Zephyr Project is a scalable real-time operating system (RTOS) supporting
multiple hardware architectures, optimized for resource constrained devices,
and built with security in mind.

The Zephyr OS is based on a small-footprint kernel designed for use on
resource-constrained systems: from simple embedded environmental sensors and
LED wearables to sophisticated smart watches and IoT wireless gateways.

The Zephyr kernel supports multiple architectures, including ARM Cortex-M,
Intel x86, ARC, Nios II, Tensilica Xtensa, and RISC-V, and a large number of
`supported boards`_.

.. below included in doc/introduction/introduction.rst


Getting Started
***************

Welcome to Zephyr! See the `Introduction to Zephyr`_ for a high-level overview,
and the documentation's `Getting Started Guide`_ to start developing.

.. start_include_here

Community Support
*****************

Community support is provided via mailing lists and Discord; see the Resources
below for details.

.. _project-resources:

Resources
*********

Here's a quick summary of resources to help you find your way around:

* **Help**: `Asking for Help Tips`_
* **Documentation**: http://docs.zephyrproject.org (`Getting Started Guide`_)
* **Source Code**: https://github.com/zephyrproject-rtos/zephyr is the main
  repository; https://elixir.bootlin.com/zephyr/latest/source contains a
  searchable index
* **Releases**: https://github.com/zephyrproject-rtos/zephyr/releases
* **Samples and example code**: see `Sample and Demo Code Examples`_
* **Mailing Lists**: users@lists.zephyrproject.org and
  devel@lists.zephyrproject.org are the main user and developer mailing lists,
  respectively. You can join the developer's list and search its archives at
  `Zephyr Development mailing list`_. The other `Zephyr mailing list
  subgroups`_ have their own archives and sign-up pages.
* **Nightly CI Build Status**: https://lists.zephyrproject.org/g/builds
  The builds@lists.zephyrproject.org mailing list archives the CI nightly build results.
* **Chat**: Real-time chat happens in Zephyr's Discord Server. Use
  this `Discord Invite`_ to register.
* **Contributing**: see the `Contribution Guide`_
* **Wiki**: `Zephyr GitHub wiki`_
* **Issues**: https://github.com/zephyrproject-rtos/zephyr/issues
* **Security Issues**: Email vulnerabilities@zephyrproject.org to report
  security issues; also see our `Security`_ documentation. Security issues are
  tracked separately at https://zephyrprojectsec.atlassian.net.
* **Zephyr Project Website**: https://zephyrproject.org

.. _Discord Invite: https://chat.zephyrproject.org
.. _supported boards: http://docs.zephyrproject.org/latest/boards/index.html
.. _Zephyr Documentation: http://docs.zephyrproject.org
.. _Introduction to Zephyr: http://docs.zephyrproject.org/latest/introduction/index.html
.. _Getting Started Guide: http://docs.zephyrproject.org/latest/getting_started/index.html
.. _Contribution Guide: http://docs.zephyrproject.org/latest/contribute/index.html
.. _Zephyr GitHub wiki: https://github.com/zephyrproject-rtos/zephyr/wiki
.. _Zephyr Development mailing list: https://lists.zephyrproject.org/g/devel
.. _Zephyr mailing list subgroups: https://lists.zephyrproject.org/g/main/subgroups
.. _Sample and Demo Code Examples: http://docs.zephyrproject.org/latest/samples/index.html
.. _Security: http://docs.zephyrproject.org/latest/security/index.html
.. _Asking for Help Tips: https://docs.zephyrproject.org/latest/getting_started/index.html#asking-for-help