Skip to content

Commit a9efb1d

Browse files
tejlmandnashif
authored andcommitted
west: update build extension command to use APP_DIR
`west build` can be invoked without specifying the source directory when being invoked from the source directory itself. When using `west build` for incremental builds, then the build command will examine the CMake cache to determine the application dir by using the value of CMAKE_HOME_DIRECTORY. With sysbuild, this leads to the wrong assumption that the sysbuild itself is the application to build. Instead, have west build look for APP_DIR which points to the correct source dir when sysbuild is used. Use APPLICATION_SOURCE_DIR when APP_DIR is not set, as this indicates a no-sysbuild build. Keep CMAKE_HOME_DIRECTORY behavior as last fallback mechanism. Signed-off-by: Torsten Rasmussen <[email protected]>
1 parent 8defc56 commit a9efb1d

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

scripts/west_commands/build.py

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -424,7 +424,14 @@ def _find_source_dir(self):
424424
if self.args.source_dir:
425425
source_dir = self.args.source_dir
426426
elif self.cmake_cache:
427-
source_dir = self.cmake_cache.get('CMAKE_HOME_DIRECTORY')
427+
source_dir = self.cmake_cache.get('APP_DIR')
428+
429+
if not source_dir:
430+
source_dir = self.cmake_cache.get('APPLICATION_SOURCE_DIR')
431+
432+
if not source_dir:
433+
source_dir = self.cmake_cache.get('CMAKE_HOME_DIRECTORY')
434+
428435
if not source_dir:
429436
# This really ought to be there. The build directory
430437
# must be corrupted somehow. Let's see what we can do.

0 commit comments

Comments
 (0)