cmake: use find_package to locate Zephyr

Using find_package to locate Zephyr.

Old behavior was to use $ENV{ZEPHYR_BASE} for inclusion of boiler plate
code.

Whenever an automatic run of CMake happend by the build system / IDE
then it was required that ZEPHYR_BASE was defined.
Using ZEPHYR_BASE only to locate the Zephyr package allows CMake to
cache the base variable and thus allowing subsequent invocation even
if ZEPHYR_BASE is not set in the environment.

It also removes the risk of strange build results if a user switchs
between different Zephyr based project folders and forgetting to reset
ZEPHYR_BASE before running ninja / make.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
This commit is contained in:
Torsten Rasmussen 2020-05-28 12:34:15 +02:00 committed by Andrzej Puzdrowski
parent 2dcc96db52
commit 43004b8541
1 changed files with 2 additions and 2 deletions

View File

@ -39,9 +39,9 @@ macro(app_set_runner_args)
endif() endif()
endmacro() endmacro()
# Standard Zephyr application boilerplate: # find_package(Zephyr) in order to load application boilerplate:
# http://docs.zephyrproject.org/application/application.html # http://docs.zephyrproject.org/application/application.html
include($ENV{ZEPHYR_BASE}/cmake/app/boilerplate.cmake NO_POLICY_SCOPE) find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(NONE) project(NONE)
# Path to "boot" subdirectory of repository root. # Path to "boot" subdirectory of repository root.