CMakeLists.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. set(COMPONENT_SRCS "src/bootloader_clock.c"
  2. "src/bootloader_common.c"
  3. "src/bootloader_flash.c"
  4. "src/bootloader_random.c"
  5. "src/bootloader_sha.c"
  6. "src/bootloader_utility.c"
  7. "src/esp_image_format.c"
  8. "src/flash_encrypt.c"
  9. "src/flash_partitions.c"
  10. "src/flash_qio_mode.c"
  11. "src/secure_boot.c"
  12. "src/secure_boot_signatures.c")
  13. if(${BOOTLOADER_BUILD})
  14. set(COMPONENT_ADD_INCLUDEDIRS "include include_bootloader")
  15. set(COMPONENT_REQUIRES)
  16. set(COMPONENT_PRIV_REQUIRES spi_flash micro-ecc efuse)
  17. list(APPEND COMPONENT_SRCS "src/bootloader_init.c")
  18. if(CONFIG_SECURE_SIGNED_APPS)
  19. get_filename_component(secure_boot_verification_key
  20. "signature_verification_key.bin"
  21. ABSOLUTE BASE_DIR "${CMAKE_BINARY_DIR}")
  22. if(CONFIG_SECURE_BOOT_BUILD_SIGNED_BINARIES)
  23. add_custom_command(OUTPUT "${secure_boot_verification_key}"
  24. COMMAND ${ESPSECUREPY}
  25. extract_public_key --keyfile "${secure_boot_signing_key}"
  26. "${secure_boot_verification_key}"
  27. DEPENDS gen_secure_boot_signing_key
  28. VERBATIM)
  29. else()
  30. get_filename_component(orig_secure_boot_verification_key
  31. "${CONFIG_SECURE_BOOT_VERIFICATION_KEY}"
  32. ABSOLUTE BASE_DIR "${main_project_path}")
  33. if(NOT EXISTS ${orig_secure_boot_verification_key})
  34. message(FATAL_ERROR
  35. "Secure Boot Verification Public Key ${CONFIG_SECURE_BOOT_VERIFICATION_KEY} does not exist."
  36. "\nThis can be extracted from the private signing key."
  37. "\nSee docs/security/secure-boot.rst for details.")
  38. endif()
  39. add_custom_command(OUTPUT "${secure_boot_verification_key}"
  40. COMMAND ${CMAKE_COMMAND} -E copy "${orig_secure_boot_verification_key}"
  41. "${secure_boot_verification_key}"
  42. DEPENDS "${orig_secure_boot_verification_key}"
  43. VERBATIM)
  44. endif()
  45. set(COMPONENT_EMBED_FILES "${secure_boot_verification_key}")
  46. set_property(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
  47. APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
  48. "${secure_boot_verification_key}")
  49. endif()
  50. else()
  51. set(COMPONENT_ADD_INCLUDEDIRS "include")
  52. set(COMPONENT_PRIV_INCLUDEDIRS "include_bootloader")
  53. set(COMPONENT_REQUIRES)
  54. set(COMPONENT_PRIV_REQUIRES spi_flash mbedtls micro-ecc efuse)
  55. endif()
  56. register_component()