external_project = import('unstable-external_project') application_source = meson.current_source_dir() external_project.add_project( configure_zephyr, configure_options: [ '--source-tree', application_source, '--build-tree', meson.current_build_dir() / 'build', '--board', board, '--zephyr-base', zephyr, '--zephyr-modules', ';'.join(zephyr_modules), ], verbose: true, ) application = custom_target( output: ['application.bin'], command: [ build_zephyr, '--build-tree', meson.current_build_dir() / 'build', '--binary-name', 'zephyr.bin', '--target-name', 'application.bin', ], ) version = '0.0.0' header_size = '0x200' slot_size = '0xc0000' application_signed = custom_target( output: ['application.signed.bin'], command: [ imgtool, 'sign', '--version', version, '--header-size', header_size, '--slot-size', slot_size, '--key', signing_key, application, '@OUTPUT@', ], depends: application, ) application_signed_confirmed = custom_target( output: ['application.signed.confirmed.bin'], command: [ imgtool, 'sign', '--version', version, '--header-size', header_size, '--slot-size', slot_size, '--key', signing_key, '--confirm', application, '@OUTPUT@', ], depends: application, )