From 39cd4c8f52b00a3600747054970f82fa152c9cfd Mon Sep 17 00:00:00 2001 From: Torsten Rasmussen Date: Wed, 19 Feb 2020 12:01:39 +0100 Subject: [PATCH] cmake: propagating zephyr base to west West utilizes Zephyr base when invoked out-of-tree in order to determine west topdir. This commit ensures that zephyr base when invoking west from CMake is set to current zephyr base. Signed-off-by: Torsten Rasmussen --- cmake/host-tools.cmake | 11 ++++++----- cmake/zephyr_module.cmake | 2 +- scripts/zephyr_module.py | 3 +++ 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/cmake/host-tools.cmake b/cmake/host-tools.cmake index 80024380a4b..fb60773cd70 100644 --- a/cmake/host-tools.cmake +++ b/cmake/host-tools.cmake @@ -38,11 +38,12 @@ else() # even after output is one line. message(STATUS "Found west: ${WEST} (found suitable version \"${west_version}\", minimum required is \"${MIN_WEST_VERSION}\")") - execute_process( - COMMAND ${WEST} topdir - OUTPUT_VARIABLE WEST_TOPDIR - OUTPUT_STRIP_TRAILING_WHITESPACE - ) + execute_process( + COMMAND ${WEST} topdir + OUTPUT_VARIABLE WEST_TOPDIR + OUTPUT_STRIP_TRAILING_WHITESPACE + WORKING_DIRECTORY ${ZEPHYR_BASE} + ) endif() # dtc is an optional dependency. Search for it on PATH and in diff --git a/cmake/zephyr_module.cmake b/cmake/zephyr_module.cmake index a0f16c619b9..3e6d1678f93 100644 --- a/cmake/zephyr_module.cmake +++ b/cmake/zephyr_module.cmake @@ -21,7 +21,7 @@ endif() set(KCONFIG_MODULES_FILE ${CMAKE_BINARY_DIR}/Kconfig.modules) if(WEST) - set(WEST_ARG "--west-path" ${WEST}) + set(WEST_ARG "--west-path" ${WEST} "--zephyr-base" ${ZEPHYR_BASE}) endif() if(WEST OR ZEPHYR_MODULES) diff --git a/scripts/zephyr_module.py b/scripts/zephyr_module.py index af28ebb6cbd..ad1864a1948 100755 --- a/scripts/zephyr_module.py +++ b/scripts/zephyr_module.py @@ -178,10 +178,13 @@ def main(): help='List of extra modules to parse') parser.add_argument('-w', '--west-path', default='west', help='Path to west executable') + parser.add_argument('-z', '--zephyr-base', + help='Path to zephyr repository') args = parser.parse_args() if args.modules is None: p = subprocess.Popen([args.west_path, 'list', '--format={posixpath}'], + cwd=args.zephyr_base, stdout=subprocess.PIPE, stderr=subprocess.PIPE) out, err = p.communicate()