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()