]> granicus.if.org Git - esp-idf/commitdiff
cmake: fix custom bootloader issue
authorRenz Christian Bagaporo <renz@espressif.com>
Wed, 15 May 2019 03:40:57 +0000 (11:40 +0800)
committerRenz Christian Bagaporo <renz@espressif.com>
Fri, 17 May 2019 07:17:32 +0000 (15:17 +0800)
Issue is that when users creates a custom bootloader from
$IDF_PATH/components/bootloader. Parent project build uses the copy but
bootloader subproject build uses the original still. The issue is solved
by passing the custom bootloader as extra component directory so
bootloader build knows to use the new copy (itself) in the build.

components/bootloader/project_include.cmake

index a1ae2b8c902c76aa8bd8b2ff07837937c006a872..a4faae97e3a7914a269a7f038c25e61500c9cd8d 100644 (file)
@@ -57,11 +57,12 @@ if((NOT CONFIG_SECURE_BOOT_ENABLED) OR
     idf_build_get_property(idf_target IDF_TARGET)
     externalproject_add(bootloader
         # TODO: support overriding the bootloader in COMPONENT_PATHS
-        SOURCE_DIR "${idf_path}/components/bootloader/subproject"
+        SOURCE_DIR "${CMAKE_CURRENT_LIST_DIR}/subproject"
         BINARY_DIR "${BOOTLOADER_BUILD_DIR}"
         CMAKE_ARGS  -DSDKCONFIG=${sdkconfig} -DIDF_PATH=${idf_path} -DIDF_TARGET=${idf_target}
                     -DSECURE_BOOT_SIGNING_KEY=${secure_boot_signing_key}
                     -DPYTHON_DEPS_CHECKED=1
+                    -DEXTRA_COMPONENT_DIRS=${CMAKE_CURRENT_LIST_DIR}
         INSTALL_COMMAND ""
         BUILD_ALWAYS 1  # no easy way around this...
         BUILD_BYPRODUCTS ${bootloader_binary_files}